首页 > 解决方案 > 没有 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)

谢谢

标签: iosxcodejenkinsxcodebuild

解决方案


解决方案非常简单,我很惭愧在这个问题上浪费了这么多时间。

该命令正在为发布而构建,因此我检查了分发证书的私钥并且我没有安装开发证书。

我是如此专注于这个想法,以至于我没有回头说“哦,这是出于某种原因(愚蠢的)谈论开发,即使我为分发而构建”

我刚刚将开发证书和私钥添加到钥匙串中,它就可以工作了。

现在播种,我了解到 xcodebuild 即使在构建分发时也需要开发证书和密钥。


推荐阅读