Xcode 4 UI 可以很好地构建应用程序,但命令行 xcodebuild 在代码签名时失败
Posted
技术标签:
【中文标题】Xcode 4 UI 可以很好地构建应用程序,但命令行 xcodebuild 在代码签名时失败【英文标题】:Xcode 4 UI builds app fine but commandline xcodebuilder fails on code signing 【发布时间】:2011-04-15 23:08:47 【问题描述】:我们的 ios 应用程序无法使用 xcodebuilder 版本 4 从命令行成功构建,但从 Xcode 4 UI 构建时没有问题。
命令行抛出以下关于找不到配置文件的错误:
=== BUILD NATIVE TARGET Calc OF PROJECT iPhoneUnitTests WITH CONFIGURATION Release ===
Check dependencies
[BEROR]Code Sign error: Provisioning profile '0E49F817-DC28-4907-BB73-4E2A02745822' can't be found
** BUILD FAILED **
我检查了该配置文件的本地 Mobile Provisions 文件夹,它存在。我什至尝试将配置文件指定为 xcodebuilder 参数,但它仍然抛出相同的错误。
有什么想法吗?
【问题讨论】:
【参考方案1】:我可以通过执行以下 4 个步骤来解决此问题:
-
我登录了 root 用户帐户并将团队代理的私钥添加到 root 用户的钥匙串中。
加载私钥后,我还下载了团队代理的开发人员证书,并通过双击将其加载到 Xcode 中。
进入 Xcode 的管理控制台后,我单击刷新并输入团队代理的 ADC 登录凭据,这导致 Xcode 将适当的分发配置文件下载到 root 用户帐户。
我手动修改了 project.pbxproj 中的发布配置,以指向 Xcode 在上一步中下载的配置文件。
即使我首先登录了 root 帐户,但如果我刚刚从本地帐户中删除了所有配置文件和证书,然后从上面的步骤 2 继续,问题可能已经解决。
【讨论】:
【参考方案2】:现在可以使用xcodebuilder
指定要使用的配置文件
xcodebuilder -target YOUR_TARGET PROVISIONING_PROFILE="YOUR_PROVISIONING_PROFILE"
【讨论】:
以上是关于Xcode 4 UI 可以很好地构建应用程序,但命令行 xcodebuild 在代码签名时失败的主要内容,如果未能解决你的问题,请参考以下文章