ios - 由于 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 在本地添加该标志,但在服务器上远程添加呢?
解决方案
我发现它是在 CircleCI 的配置中设置的变量:
https://app.circleci.com/settings/project/github/[your_org]/[your_app]/environment-variables
推荐阅读
- symfony - em->flush 尝试插入另一个表并得到错误
- ios - 缩放 SDK:iOS Swift
- scala - 在 Spark 数据集中编码 ujson.Value
- html - Ionic - 页面加载后显示 Div 4 秒
- mysql - 在mysql中加入同一张表的子查询
- reactjs - 使用 Reactjs 来自相同 JSON 的具有父 ID 的嵌套树
- php - 函数变量 - API 响应 preg_split 结果并将创建的变量传递给新函数
- ravendb - RavenDB 更新嵌套文档?
- java - 使用 Selenium 遍历表并单击其中的链接
- c# - 对 c# 的 async/await 的控制流感到困惑