我正在运行这个命令:
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: Step failed: : Error Domain=IDEFoundationErrorDomain Code=1 "ipatool failed with an exception: #
Xcode 9 默认从位码重新编译应用程序。我通过在我的 options.plist 中添加另一个条目来关闭位码,从而克服了这个错误:
<key>compileBitcode</key>
<false/>
现在我终于能够使用 Xcode 9 构建我的应用程序并使用 xcodebuild 导出 ipa 文件而不会出错。