iOS应用更新至App Store报错:存在2个分发证书但未安装私钥
解决iOS分发证书私钥缺失导致的归档验证错误
别慌,这个问题我碰到过好多次,给你几个靠谱的解决方案,一步步来就能搞定:
方案一:联系证书创建者获取私钥副本
这是最直接的办法,毕竟错误提示也明确指出来了。证书创建者的Mac上应该在钥匙串访问里存储着对应的私钥,让他们按以下步骤导出给你:
- 打开「钥匙串访问」App,切换到「我的证书」分类
- 找到对应的「iOS Distribution」证书,展开左侧的小三角,确认里面绑定了私钥
- 右键点击证书(或私钥),选择「导出「XXXX」」,保存为
.p12格式,设置一个导出密码(记得让对方把密码同步给你) - 你拿到
.p12文件后,直接双击打开,输入对方设置的密码,就能把证书和配套私钥导入到自己的钥匙串里了
方案二:若无法联系创建者,重新生成分发证书
如果私钥彻底找不到了,那就直接重新生成,步骤也很清晰:
- 撤销旧证书:登录Apple Developer后台,进入「Certificates, Identifiers & Profiles」,找到那两个没有私钥的iOS分发证书,点击「Revoke」(注意:如果团队里还有其他人在使用这些证书,先确认不会影响他们的应用发布;如果是你自己的应用,放心撤销就行)
- 生成新的证书签名请求(CSR):
- 打开Mac上的「钥匙串访问」,点击顶部菜单栏「钥匙串访问」->「证书助理」->「从证书颁发机构请求证书」
- 填写你的邮箱地址和常用名称,选择「存储到磁盘」,保存生成的
.certSigningRequest文件
- 创建新的分发证书:
- 回到开发者后台,点击「+」号创建新证书,选择「iOS Distribution」类型,按照提示上传刚才生成的CSR文件
- 下载生成的新证书(
.cer格式),双击打开自动导入到钥匙串访问,这时候你的钥匙串里就会有配对好的证书和私钥了
最后检查环节
导入或生成证书后,打开Xcode进入项目的「Signing & Capabilities」页面,确认选择的分发证书状态正常(Xcode不会显示红色警告),再重新归档验证就应该能通过了。
内容的提问来源于stack exchange,提问作者Enamul Haque
相关产品推荐
相关产品推荐

