xcodebuild -exportArchive:关键'方法'的exportOptionsPlist错误:预期的一个{}

时间:2015-09-29 10:10:25

标签: ios xcode ios9 xcode7 xcodebuild

我正在使用命令行xcodebuild工具从我的存档中导出ad-hoc分发ipa文件,如下所示:

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

但是,此命令失败并显示错误

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

无论我在导出选项plist中提供什么'方法',它始终会因此错误而失败。如果我从plist文件中删除'method'选项,它也会失败。

8 个答案:

答案 0 :(得分:35)

我最初怀疑xcodebuild工具,但事实证明存档文件是invaid。当我在Xcode中打开存档文件并尝试手动导出ipa文件时,我注意到“上传到App Store”和“验证”按钮被禁用。单击“导出”按钮后,它为我提供了两个选项:“保存已构建的产品”和“导出为Xcode存档”,但没有导出ad-hoc分发和其他常规选项。

原来我的.app文件中的库文件很少。 Xcode认为这是一个通用存档而不是应用存档。检查项目设置中的“构建阶段”以复制标题和库文件。

有关详细信息,请参阅https://developer.apple. com/library/ios/technotes/tn2215/_index.html

答案 1 :(得分:8)

我在其中一个项目中遇到过这个问题。在将Cocoapods从0.38.2更新到0.39.0后,它已经消失了。

另外,我有一个不同的相关问题。导出失败,出现以下错误:

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

事实证明,xcodebuild不喜欢我添加到teamID的{​​{1}}参数。删除后,应用程序已成功导出。

答案 2 :(得分:4)

两天后我遇到了同样的问题, 问题来自Apple证书。 从您的钥匙串中删除Apple Worldwide Developer Relations认证中心(将于2月14日到期),然后通过下载进行续订:

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

答案 3 :(得分:3)

在我的情况下,我的一个静态库没有启用Skip Install,这导致了同样的问题。当我为该项目设置xcode Skip InstallYes时,我解决了这个问题。

答案 4 :(得分:1)

Pavel P的解决方案是

在我的情况下,我的一个静态库没有启用“跳过安装”,这导致了同样的问题。当我在该项目的“ xcode跳过安装”中设置为“是”时,我解决了该问题。

沿着同样的脉络,我打电话给“ xcodebuild”,并以SKIP_INSTALL = NO作为选项传递。

例如

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

在这种情况下,删除SKIP_INSTALL = NO可以解决我的特殊情况。

答案 5 :(得分:0)

我遇到了同样的问题,并在查看KeyChain时发现用于签名的证书已被撤销。归档工作正常,但当我们来到-exportArchive时,我们得到了这个神秘的错误。 HTH。

答案 6 :(得分:0)

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

检查以下原因:

  • 您的存档包含标题文件。
  • 您的存档包含静态库或框架。

答案 7 :(得分:-1)

这个论坛帮助我解决了这个问题 https://forums.developer.apple.com/message/59201#59201

解决方案:更改&#39;方法&#39; to&#39; export_method&#39;在exportOptionsPlist中。