首页 > 解决方案 > 由于 xcodebuild 命令中的 CODE_SIGN_IDENTITY,CircleCI 构建失败

问题描述

我继承了一个使用 Fastlane 和 CircleCI 生成构建的项目。它已经坏了一段时间,但我设法让它大部分再次工作。但是,实际构建在构建服务器上一直失败,在本地我的所有通道都已成功完成。

我一直在比较本地和 CI 服务器上发生的情况,不同之处似乎在于 Circle 归档项目的方式。我已对其进行了更改,因此它将在本地运行并且错误保持不变:

xcodebuild -workspace ./App.xcworkspace -scheme App -configuration AdHoc -destination generic/platform=iOS -archivePath "/Users/me/Library/Developer/Xcode/Archives/2020-08-14/App 2020-08-14 13.08.37.xcarchive" archive "CODE_SIGN_IDENTITY=iPhone Distribution: ACME"

结果是:

error: No certificate for team '123ABC4DEF' matching 'iPhone Distribution: ACME' found: Select a different signing certificate for CODE_SIGN_IDENTITY, a team that matches your selected certificate, or switch to automatic provisioning. (in target '***********-SomeLibrary' from project '***********')

看起来它不仅想使用 签署主应用程序CODE_SIGN_IDENTITY,还希望'iPhone Distribution: ACME'显式存在并且在没有时失败。

一旦我删除了CODE_SIGN_IDENTITY最后的部分,它就开始在本地工作:

xcodebuild -workspace ./App.xcworkspace -scheme App -configuration AdHoc -destination generic/platform=iOS -archivePath "/Users/me/Library/Developer/Xcode/Archives/2020-08-14/App 2020-08-14 13.08.37.xcarchive" archive"

我一直在梳理所有可能指定硬编码的设置,但我找不到任何东西。例如,尚未添加 GYM_CODE_SIGN_IDENTITY。那么它怎么可能不CODE_SIGN_IDENTITY使用 Fastlane 在本地添加该标志,但在服务器上远程添加呢?

标签: iosswiftxcodecircleci

解决方案



推荐阅读