当我使用Jenkins的XCodeBuild插件时,会出现以下错误:
代码签名错误:身份“iPhone Developer”与您的密钥链中的任何有效且未过期的证书/私钥对不匹配
更新:我可以从终端运行xcodebuild并在xcode中构建模拟器和设备,但在jenkins中运行时却不能 - jenkins似乎有一个不同的“共享”osx用户,因为它的主目录位于users/shared?
当我使用Jenkins的XCodeBuild插件时,会出现以下错误:
代码签名错误:身份“iPhone Developer”与您的密钥链中的任何有效且未过期的证书/私钥对不匹配
更新:我可以从终端运行xcodebuild并在xcode中构建模拟器和设备,但在jenkins中运行时却不能 - jenkins似乎有一个不同的“共享”osx用户,因为它的主目录位于users/shared?
默认情况下,安装Jenkins后,它作为守护进程运行,而不是在当前用户的进程下运行。因此,它无法访问您所需用于对应用程序进行代码签名的任何凭据。
与其将Jenkins作为守护进程运行,您应该像启动普通进程一样启动它。可能看起来像这样:
java -jar /Applications/Jenkins/jenkins.war
我也将Jenkins运行为守护进程,并且使用插件可以很好地进行代码签名:
https://wiki.jenkins-ci.org/display/JENKINS/Keychains+and+Provisioning+Profiles+Plugin
(Jenkins 2.19.1 和 Xcode 8)这不是构建机的问题,而是用户在进行构建时缺少了证书和私钥。您需要为他手动添加一个login.keychain。