无法使用 xcodebuild 构建项目,但可以使用 Xcode.app

Cannot build project using xcodebuild, but can using Xcode.app

我无法使用 xcodebuild 命令构建我的项目,因为它找不到开发团队的歌唱身份。但是,我可以使用 Xcode.app 进行构建。这是我在 xcodebuild 中遇到的错误:

=== BUILD TARGET AppName OF PROJECT AppName WITH CONFIGURATION Release ===

Check dependencies
No signing certificate "iOS Development" found:  No "iOS Development" signing certificate matching team ID "1234567890" with a private key was found.

项目设置定义发布版本的代码签名标识设置为 "iPhone Distribution":

"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
DEVELOPMENT_TEAM = 1234567890;

而且我可以在我的钥匙串中看到该身份的签名证书和密钥:

我使用的构建命令是:

xcodebuild \
  -workspace "AppName.xcworkspace" \
  -scheme "AppName (Release)" \
  -destination generic/platform=iOS \
  build

该方案定义使用发布配置构建。

碰巧我使用 SSH 登录到构建服务器,当您使用 SSH 登录到 mac 时,钥匙串不会自动解锁,因此即使证书确实存在,xcodebuild 也无法访问它。

This question on Super User 解释了如何通过 ssh 解锁钥匙串,或者您可以只在本地使用 Terminal.app。