ios - 没有 xcodebuild 证书的私钥
问题描述
由于我更改了证书,我无法再使用 xcodebuild 构建。
我可以毫无问题地使用 xcode 存档和管理器构建和导出。我的私钥安装正确。
但是,当我从终端手动使用 xcodebuild 时,它首先会抛出我不完全理解的错误,然后说我没有证书的私钥。
这是我使用的 xcodebuild 命令
终端% /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -verbose -scheme MyApp -workspace MyApp.xcworkspace -configuration 发布干净存档 -archivePath _build/MyApp.xcarchive -allowProvisioningUpdates
这是错误
2020-12-03 07:57:01.238 xcodebuild[4658:241714] DVTAssertions:/Library/Caches/com.apple.xbs/Sources/IDEFrameworks/IDEFrameworks-17535/IDEFoundation/Provisioning/Logging/IDEProvisioningLedger.m:172 中的警告详细信息:无法关闭供应分类帐条目,因为并非所有子条目都已关闭对象:<IDEProvisioningLedgerEntry:0x7ff4f0a54e00> 方法:-closeWithError:线程:<NSThread:0x7ff4ef32abc0>{number = 11,name = (null)} 请提交错误在https://feedbackassistant.apple.com上提供此警告消息以及您可以提供的任何有用信息。
其次是
错误:撤销证书:您的帐户已经拥有此机器的 Apple 开发签名证书,但其私钥未安装在您的钥匙串中。
我读了很多有类似问题的人的帖子
- 我检查,仔细检查,撤销了很多次我的证书
- 我重新安装了命令行工具来尝试解决这个问题。
- 我尝试指定钥匙串,以防它无法单独找到它
- 我试图锁定解锁钥匙链以防万一
- 我在自己的电脑上试过,效果很好
除了完全重新安装macos之外,我现在不知道该怎么做才能解决问题:(。
PS:
构建机器最初使用 jenkins 2.244。错误与詹金斯相同。
xCode 的版本是 12.2 (12B45b)
操作系统是 Catalina 10.15.5 (19F101)
谢谢
解决方案
解决方案非常简单,我很惭愧在这个问题上浪费了这么多时间。
该命令正在为发布而构建,因此我检查了分发证书的私钥并且我没有安装开发证书。
我是如此专注于这个想法,以至于我没有回头说“哦,这是出于某种原因(愚蠢的)谈论开发,即使我为分发而构建”
我刚刚将开发证书和私钥添加到钥匙串中,它就可以工作了。
现在播种,我了解到 xcodebuild 即使在构建分发时也需要开发证书和密钥。
推荐阅读
- vb.net - 无需工具即可提取PDF文本
- python - PyQt4 Qstring 到 PyQt5
- android - 我可以对 Intents 和 List 视图做些什么
- java - Java logging.properties 文件只打印特定的记录器
- node.js - 如何使用 Node.js Net 发送 SMTP 消息(没有 Nodemailer)
- shiny - 如何格式化标签的部分粗体?
- ruby - 在 alpine 上构建 ruby 1.8.7
- mysql - 如何从重复记录中获取唯一记录(通过忽略前两个字符)?
- html - 为什么 Angular 控件不会隐藏?(隐藏但保留在 DOM 中以保留价值)
- jquery - 有谁知道如何让 Google Analytics Embed API 在 MVC 5 中工作?