Apple 开发人员:Codesign 脚本找不到钥匙串中处于活动状态的证书我该如何解决这个错误?

问题描述

几年前,我在另一台运行 High Sierra 的 Mac 计算机上获得了开发人员证书,在那里我成功地对我的应用程序进行了代码签名。它们在我的钥匙串和 Xcode 中。所有这些证书都已过期。我使用的可能是 Xcode 9 或更早版本。您可以在 High Sierra 上运行的最新 Xcode 版本是 10.1。

我已使用 M1 计算机恢复应用开发。我不得不升级我的电脑,因为 Apple 决定你必须运行 macOS 10.14 或更高版本才能上传到他们的 App Store。我在浏览器中使用我的 Apple Developer 帐户创建了新证书,并将它们安装在钥匙串中。所有证书均已更新为始终信任

当我运行以下脚本时:

echo "Starting Signing..."

codesign -o runtime -f --deep -s --verify --verbose "Developer ID Application: my corp (my id)" --entitlements ~/myappfolder/my_entitlement_file.entitlements "~/myappfolder/my_app/Contents/"

echo "Signing app ..."

codesign -o runtime -f --deep -s --verify --verbose "Developer ID Application: my corp (my id)" "~/myappfolder/my_app"

echo "Verify Signing of app ..."

codesign -vvv -d "~/myappfolder/my_app"

echo "Done Signing..."

我在终端中得到以下输出

Starting Signing...
error: The specified item Could not be found in the keychain.
Signing app ...
error: The specified item Could not be found in the keychain.
Verify Signing of app ...
~/myappfolder/my_app.app: No such file or directory
Done Signing...

我查看了 Xcode 12.4,当我单击首选项->帐户中的管理证书按钮时,会出现我已过期的旧证书数据。即使我使用浏览器从钥匙串和我的 Apple Developer 帐户中删除了这些过期的证书,我也无法删除它们。当我右键单击过期的证书时,删除证书选项被阻止。我所能做的就是导出证书和/或电子邮件创建者

我唯一的选择是添加新证书。我不能这样做,因为我已经有了有效的证书。我无法创建一对新的 Developer ID 证书,因为我已达到限制。根据 Apple 支持的规定,根据设计,它们不能被撤销。

我就此事联系了 Apple 开发人员支持,但我收到的只是一封电子邮件,其中包含许多链接。我已经搜索了这些链接,但没有找到任何答案。在进行网络搜索后,我只找到了适用于 Mac 和 Xcode 的旧版本的解决方案。

我不知道问题是否与在 Xcode 10.1 中创建的旧证书数据有关,该数据格式与 Xcode 12 的当前数据格式不同。

我不知道解决此问题的下一步。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)