web-dev-qa-db-fra.com

xcodebuild -exportArchive: erreur exportOptionsPlist pour la clé 'méthode': attendu l'un des {}

J'utilise l'outil de ligne de commande xcodebuild pour exporter le fichier ipa de distribution ad-hoc hors de mon archive, comme ceci:

xcodebuild -exportArchive -archivePath /path/Archive.xcarchive -exportPath /path -exportOptionsPlist /path/options.plist

Cependant, cette commande échoue avec une erreur

exportArchive: exportOptionsPlist error for key 'method': expected one of {}, but found ad-hoc

Peu importe la "méthode" que je fournis dans ma pliste d'options d'exportation, elle échoue toujours avec cette erreur. Cela échoue également si je supprime l'option 'method' du fichier plist. 

26
Vladimir Grigorov

Je soupçonnais initialement l'outil xcodebuild, mais il s'est avéré que le fichier archive était invaid. Lorsque j'ai ouvert le fichier d'archive dans Xcode et essayé d'exporter un fichier ipa manuellement, j'ai remarqué que les boutons "Télécharger sur l'App Store" et "Valider" étaient désactivés. Après avoir cliqué sur le bouton "Exporter", deux options m'ont été proposées: "Enregistrer les produits intégrés" et "Exporter en tant qu'archive Xcode", mais il n'y avait pas de distribution Export ad-hoc et les autres options standard.

Il s'est avéré qu'il y avait peu de fichiers de bibliothèque le long de mon fichier .app dans les archives. Xcode considère cela comme une archive générique et non comme une archive d'application. Vérifiez les phases de construction dans les paramètres de votre projet pour la copie des fichiers d’en-tête et de bibliothèque. 

Pour plus de détails, voir https://developer.Apple. com/bibliothèque/ios/technotes/tn2215/_index.html

34
Vladimir Grigorov

J'ai eu ce problème dans l'un de mes projets. Après la mise à jour de Cocoapods de 0.38.2 à 0.39.0, il avait disparu. 

En outre, j'avais un problème connexe différent. L'exportation échouait avec l'erreur suivante:

2015-10-22 17:16:12.568 xcodebuild[91172:2171408] [MT] IDEDistribution: -[IDEDistributionLogging _createLoggingBundleAtPath:]: Created bundle at path '/var/folders/_l/2rl169m16p717gzldvh7n0600000gq/T/MyDriveEU_2015-10-22_17-16-12.568.xcdistributionlogs'.
2015-10-22 17:16:12.860 xcodebuild[91172:2171408] [MT] IDEDistribution: Step failed: <IDEDistributionSigningAssetsStep: 0x7fbc13f0c970>: Error Domain=IDEDistributionErrorDomain Code=1 "The operation couldn’t be completed. (IDEDistributionErrorDomain error 1.)"
error: exportArchive: The operation couldn’t be completed. (IDEDistributionErrorDomain error 1.)

Error Domain=IDEDistributionErrorDomain Code=1 "The operation couldn’t be completed. (IDEDistributionErrorDomain error 1.)"

** EXPORT FAILED **

Il s'est avéré que xcodebuild n'aimait pas le paramètre teamID que j'ai ajouté au exportOptions.plist. Après l'avoir supprimée, l'application a été exportée avec succès.

8

J'avais le même problème depuis deux jours, Le problème venait de certificats Apple . Supprimez l'autorité de certification Apple Worldwide Developer Relations de votre trousseau (expirera le 14 février) et renouvelez-le par téléchargement:

https://developer.Apple.com/news/?id=02092016a

4
Razordrant

Dans mon cas, une de mes bibliothèques statiques n’avait pas activé Skip Install, ce qui a provoqué le même problème. Lorsque j'ai défini xcode Skip Install sur Yes pour ce projet, j'ai résolu le problème.

3
Pavel

J'ai eu le même problème et j'ai découvert lors de la recherche dans KeyChain que le certificat utilisé pour la signature avait été révoqué. L'archivage a bien fonctionné, mais lorsque nous sommes arrivés à -exportArchive, nous avons eu cette erreur cryptique. HTH.

0
Oliver Pearmain

https://developer.Apple.com/library/content/technotes/tn2215/_index.html#//Apple_ref/doc/uid/DTS40011221-CH1-PROJ

Vérifiez les raisons suivantes:

  • Votre archive contient des fichiers d'en-tête.
  • Votre archive contient des bibliothèques statiques ou des frameworks.
0
Bigyelow