xcodebuild -exportArchive: exportOptionsPlist error for key 'method': expected one of {}

被刻印的时光 ゝ 提交于 2020-04-29 06:27:32

问题


I'm using command line xcodebuild tool to export ad-hoc distribution ipa file out of my archive like this:

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

However, this command fails with error

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

No mater what 'method' I provide in my export options plist, it always fails with this error. It also fails if I remove the 'method' option from the plist file.


回答1:


I suspected xcodebuild tool initially, but it turned out the archive file was invaid. When I opened the archive file in Xcode and tried to export an ipa file manually, I noticed that "Upload to App Store" and "Validate" buttons were disabled. After clicking the "Export" button, it gave me two options: "Save Built Products" and "Export as an Xcode Archive", but there was no Export ad-hoc distribution and the other regular options.

It turned out there were few library files along my .app file in the archive. Xcode considers this a generic archive and not an app archive. Check the Build Phases in your project settings for copying header and library files.

For more details, see https://developer.apple. com/library/ios/technotes/tn2215/_index.html




回答2:


I had this issue in one of my projects. After updating Cocoapods from 0.38.2 to 0.39.0 it was gone.

Also, I had a different related issue. Exporting was failing with the following error:

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 **

It turned out that xcodebuild didn't like teamID parameter I added to the exportOptions.plist. After I removed it, the app was exported successfully.




回答3:


In my case one of my static libs did not have Skip Install enabled and this resulted in the same problem. When I set in xcode Skip Install to Yes for that project I fixed that problem.




回答4:


I had the same issue since two days, The issue came from Apple certificates. Delete Apple Worldwide Developer Relations certification Authority from your keychain (would be expired at 14 Feb) and so renew it by download :

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




回答5:


I had the same issue and discovered when looking in KeyChain that the certificate used for signing had been revoked. Archiving worked fine but when we came to -exportArchive we got this cryptic error. HTH.




回答6:


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

Check the following reasons:

  • Your archive contains header files.
  • Your archive contains static libraries or frameworks.



回答7:


Pavel P's solution was

In my case one of my static libs did not have Skip Install enabled and this resulted in the same problem. When I set in xcode Skip Install to Yes for that project I fixed that problem.

Along the same vein, I was calling "xcodebuild" and passing in SKIP_INSTALL=NO as an option.

e.g.,

xcodebuild clean analyze archive -workspace MyWorkspace.xcworkspace -scheme MyScheme -configuration Debug SKIP_INSTALL=NO -archivePath /MyPath/MyArchive.xcarchive

Removing SKIP_INSTALL=NO in this case fixed my particular situation.




回答8:


This forum helped me to fix the issue.
https://forums.developer.apple.com/message/59201#59201

SOLUTION: change the key from 'method' to 'export_method' in the exportOptionsPlist.



来源:https://stackoverflow.com/questions/32841300/xcodebuild-exportarchive-exportoptionsplist-error-for-key-method-expected-o

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!