Xcode 5持续集成代码签名失败

7

你好。我正在尝试使用Xcode 5和OS X Server为我的iOS应用程序配置持续集成。我已将证书和p12添加到系统KeyChain中,还将配置文件复制到服务器文件夹中。

集成失败,日志显示错误消息

简短的消息:

/usr/bin/codesign命令退出代码为1

完整的消息:

CodeSign /Library/Server/Xcode/Data/BotRuns/Cache/c60acccd-d128-d128-b0e3-070a65bdd9dc/DerivedData/Build/Intermediates/ArchiveIntermediates/MomentSeller/InstallationBuildProductsLocation/Applications/MomentSeller.app 在进行构建时,Xcode尝试对应用程序进行代码签名,但未能成功。错误消息“User interaction is not allowed”表明可能需要输入密码或授权才能完成此操作。请检查代码签名标识、证书和配置文件是否正确,并确保你已经获得了执行此操作所需的权限。
2个回答

10

我也遇到过这个问题。这篇博客帮助了我:http://matt.vlasach.com/xcode-bots-hosted-git-repositories-and-automated-testflight-builds/

Dominik Kroutvar 发布的内容如下:

不允许用户交互。命令 /usr/bin/codesign 失败,退出码为1。

当未手动进行以下设置时,会出现此错误。如上述帖子中所述,您必须将用于代码签名的mobileprofile放入系统钥匙串中。证书称为iPhone Distribution:。此分发证书必须具有私钥!通过双击私钥或使用上下文菜单>获取信息打开设置对话框。然后进入“访问控制”,并将/usr/bin/codesign放入表中。这样,codesign应用程序就可以签署您构建的应用程序。之后,一切都应该正常工作,没有无意义的codesign错误退出码1。


1
非常感谢!你救了我一命……我看到了这篇文章,但太蠢了,错过了这个部分。 - Sam Rodstin
9
由于编程问题而自杀是不应该的!我很高兴你得救了! - Josh Feldman
谢谢,@JoshFeldman - 可能刚刚为我们的团队节省了数小时的时间。希望 StackOverflow 上有一个致敬按钮 ;) - Andrew Little
2
如果有人想知道,在文件对话框打开的情况下,按下 'Cmd' + 'Shift' + '.' 可以显示隐藏文件,即 /usr 目录。感谢 https://dev59.com/q2445IYBdhLWcg3wpLx_#23292052 提供的信息。 - Andres Restrepo

0

正如已经说明的那样, 您只需要运行 security -v unlock-keychain -p "$KEYCHAIN_PASSWORD" "$KEYCHAIN"

在构建之前运行此命令,代码签名将成功。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接