使用 jenkins 的 XCodeBuild 插件时出现以下错误:
代码签名错误:身份“iPhone 开发人员”与您的钥匙串中的任何有效、未过期的证书/私钥对不匹配
更新:我能够从终端构建 xcodebuild 并将 xcode 构建到模拟器和设备中,但是在 jenkins 中运行它时不能 - jenkins 似乎有一些不同的“共享”osx 用户,因为它的主文件夹在用户/共享中?
使用 jenkins 的 XCodeBuild 插件时出现以下错误:
代码签名错误:身份“iPhone 开发人员”与您的钥匙串中的任何有效、未过期的证书/私钥对不匹配
更新:我能够从终端构建 xcodebuild 并将 xcode 构建到模拟器和设备中,但是在 jenkins 中运行它时不能 - jenkins 似乎有一些不同的“共享”osx 用户,因为它的主文件夹在用户/共享中?
默认情况下,安装 Jenkins 时,它作为守护进程运行,而不是当前用户下的进程。因此,它无权访问对您的应用进行代码签名所需的任何凭据。
与其将 Jenkins 作为守护进程运行,不如像正常进程一样启动它。它可能看起来像这样:
java -jar /Applications/Jenkins/jenkins.war
您正在使用的构建机器没有与临时配置文件中的证书匹配的私钥。
我还将 jenkins 作为守护进程运行,并且代码签名使用插件可以正常工作:
https://wiki.jenkins-ci.org/display/JENKINS/Keychains+and+Provisioning+Profiles+Plugin
(带有 Xcode 8 的 Jenkins 2.19.1)
它不是构建机器,而是进行构建的用户。他缺少那些证书和私钥。您需要手动添加一个 login.keychain 特别为他。