当您按下Revoke
按钮时,您会收到一个新的iPhone Distribution certificate
和一个新的iPhone Developer certificate
。您可以在开发人员门户中查看这些证书developer.apple
> certificates
。这些证书也将在您的钥匙串中。您可以使用证书到期日期来查看哪些证书对应于什么。
按下 Revoke 按钮的问题是你会得到一个iPhone Distribution certificate
带有 aprivate key
但iPhone Developer certificate
它没有私钥。
如果你查看你的钥匙串,你会在下面看到这张照片。请注意iPhone Distribution certificate
旁边有一个灰色箭头,但iPhone Developer certificate
没有:
这将导致以下2个错误:
它会导致一个循环,您Revoke
再次按下按钮并以相同的 2 个错误结束。我不确定苹果为什么这样做,但肯定有人犯了错误。
当您转到Keychain
> login
>时My Certificates
,您只会看到具有私钥的证书(灰色箭头表示)。由于iPhone Developer certificate
按下撤销按钮的按钮没有密钥,因此它不会在那里。 据此,您需要该密钥,否则您将收到错误消息:
如果您的 iOS 开发人员和分发证书未出现在
“我的证书”中,则说明它们未正确配置为在您的 Mac 上使用。请注意,“证书”是您的 Mac 持有的所有证书的存储库,而“我的证书”是您的 Mac 实际使用的有效证书子集- 仅出现在“证书”中的证书是不够的。
如果证书不在我的证书中,那么这很可能是因为您在该 Mac 上也没有该证书的正确密钥。您将需要找到为该证书制作的私钥(即,来自请求证书的原始 Mac 或备份服务器)。
只要它们确实出现在我的证书中,那么它们的密钥就在那里。
由于iPhone Developer certificate
不会出现在我的证书中,因此修复是在您按下Revoke
按钮后,删除iPhone Developer certificate
它从开发人员门户中生成的developer.apple
> certificates
AND keychain
。从钥匙串中删除它非常重要!使用到期日期找到它。请保留它,iPhone Distribution Certificate
因为它应该可以正常工作并且有一个键(由灰色箭头指示)。
从这两个地方删除后,您可以按照以下说明手动生成一个developer certificate
自己:
手动生成代码签名证书
1- 打开你的Keychain Access
.
2- 在 Apple 标志旁边的左上角选择Keychain Access
> Certificate Assistant
> Request a Certificate From a Certificate Authority..
。
3- 填写用户电子邮件地址(只需使用您的)和通用名称(只需使用您的姓名),然后选择Saved to Disk。我选择了Let me specify key pair information
(也许没有必要),但在下一个屏幕上只需使用Key Size: 2048 bits
and algorithm: RSA
。单击继续并将生成的 certSigningRequest 文件保存到您的桌面。
4- 转到https://developer.apple.com并登录您的帐户。
5- 从左侧边栏中选择证书、ID 和配置文件。
6- 转到证书并单击右上角的 + 按钮。
7- 选择 iOS 应用程序开发并单击继续。
8- 在下一页上,您会看到创建 certSigningRequest 文件的说明。单击继续。
9- 将创建的 certSigningRequest(从第 3 步开始,保存到您的桌面)上传到表单,然后单击继续。它将为您生成代码签名证书。
10-下载证书并双击安装。安装后,它将被添加到您的钥匙串访问应用程序中。假设它保存到您的下载文件夹中,您可以进入并双击它。
完成这些步骤后,两个错误都应该消失。
如果您仍然有错误,请查看developer.apple
>certificates
和keychain
>门户中的证书My Certificates
。如果门户中有任何内容但不在门户中,My Certificates
那么您需要找到它的钥匙串访问权限(查看 keychain > Certificates),将其删除,然后从门户中删除。
我花了一段时间才弄清楚这一点,但到期日期是找到混乱证书的关键。