iOS 应用程序的 Jenkins 代码签名失败

Code Sign Failing from Jenkins for iOS application

我最近将我的 Jenkins mac mini machine 从 yosemite 更新到 sierra 以及最新的 xcode ( 8.3.2 )。

现在,每当我尝试从 jenkins 作业构建我的应用程序和代码签名时,它都会失败并出现以下神秘错误

unknown error -1=ffffffffffffffff
Command /usr/bin/codesign failed with exit code 1

当我以 jenkins 用户身份 ssh 进入我的 jenkins mac mini box 和 运行 相同的构建命令时,一切正常。此外,从 xcode 构建和签署应用程序时,它工作正常。有人见过这个问题吗?

我认为这与 Fastlane 上的这个未解决的问题有关。您可以从这里开始:

https://github.com/fastlane/fastlane/issues/8797

将此添加到 Jenkins 作业的构建步骤中解决了我的问题。

security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k ${JENKINS_PWD} ~/Library/Keychains/login.keychain-db