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 在代码签名时失败的主要内容,如果未能解决你的问题,请参考以下文章

Xcode:没有查看应用程序的权限

Xcode 命令行安装到设备

IO9 上的 UI XCTestCase 无法播放

Xcode CI - 用于上传到 Fabric 的 Bot 脚本给出错误“无法检测构建环境”

如何使用 OSX/XCode 构建 VST 插件

如何卸载 Xcode 4.4 命令行工具(Mac OS X 10.8 Mountain Lion)?