xcodebuild -exportArchive 失败,并显示错误 查找签名资产失败



我正在使用命令行xcodebuild工具从Xcode存档中导出.ipa文件。它在Xcode 8.3.3之前工作正常。相同的设置已停止与 Xcode 9 beta 一起使用。现在它失败并显示此错误:

IDEDistribution: Step failed: <IDEDistributionSigningAssetsStep: 0x7fc309310550>: Error Domain=IDEDistributionSigningAssetStepErrorDomain Code=0 "Locating signing assets failed."

Xcode 9 似乎找不到配置文件,但为什么呢?

就我而言,该问题已通过-exportOptionsPlist列表中的下一个字段解决:

<dict>
<key>compileBitcode</key>
<false/>
<key>method</key>
<string>ad-hoc</string>
<key>provisioningProfiles</key>
<dict>
<key>com.my.bundle.id</key>
<string>AD_HOC_PROVISIONING_PROFILE_NAME</string>
</dict>
<key>signingCertificate</key>
<string>CERTIFICATE_HASH</string>
<key>signingStyle</key>
<string>manual</string>
<key>teamID</key>
<string>TEAM_ID</string> 
</dict>

所以,显然我必须设置:compileBitcodemethodprovisioningProfilessigningCertificatesigningStyleteamID

在您的情况下,字段集可以不同。我通过 Xcode 9 存档和导出.ipa找到了我的集合。Xcode 将使用 ipa 导出其exportOptionsPlist,并显示它使用的字段。

有关油田发现的更多信息:https://blog.bitrise.io/new-export-options-plist-in-xcode-9

我正在运行以下命令:

xcodebuild -exportArchive -archivePath archive.xcarchive -exportPath /my/export/path -exportOptionsPlist options.plist

我的项目使用手动签名。事实证明,Xcode 9 需要 options.plist 中指定的配置文件名称或 UUID 才能对导出的 .ipa 文件进行签名。我将此条目添加到我的 options.plist 中:

<key>provisioningProfiles</key>
<dict>
<key>com.myapp.bundle.id</key>
<string>My AdHoc Provisioning Profile Name</string>
</dict>

并且错误"查找签名资产失败"消失了。但是还有另一个错误:

IDEDistribution: 步骤失败: : 错误域=IDEfoundationErrorDomain Code=1 "ipatool 失败,出现异常: #

默认情况下,Xcode 9 会从位码重新编译应用。我通过在 options.plist 中添加另一个条目来关闭位码来克服此错误:

<key>compileBitcode</key>
<false/>

现在我终于能够使用 Xcode 9 构建我的应用程序,并使用 xcodebuild 导出 ipa 文件而不会出错。

相关内容

  • 没有找到相关文章

最新更新