Xcode 12如何使用旧iOS distribution certificate完成应用分发
iOS Xcode 12 分发签名报错解决方案
针对你遇到的missing the private key of the Apple Distribution Certificate报错,改用手动签名是完全可行的解决方案,和苹果官方说明的旧版iOS distribution certificate支持性完全匹配。
自动签名报错原因
Xcode自动签名功能要求证书对应的私钥必须储存在当前设备的钥匙串中,如果你仅拿到证书的.cer文件没有附带对应私钥,或者导入钥匙串时私钥关联失败,就会触发该报错。由于你当前账号的证书生成数量已达上限,无法创建新证书,手动签名是唯一可行的适配路径。
手动签名配置步骤
- 先确认旧版分发证书已经正确导入当前设备的钥匙串访问中,且关联了对应私钥:如果客户仅提供了.cer格式的证书,需要让客户从生成证书的原始Mac设备钥匙串中,导出包含私钥的.p12格式证书文件,你拿到后双击导入、输入导出时设置的密码即可完成关联
- 登录客户的苹果开发者账号,进入「Certificates, Identifiers & Profiles」管理页面,确认你要打包的应用对应的Bundle ID已经在Identifiers列表中正确创建,且开启了应用需要的所有Capability
- 新建Provisioning Profile,根据你的分发场景选择对应类型(App Store上架选App Store、内部测试选Ad Hoc/Enterprise),关联正确的App ID,选择你手中持有的旧版iOS distribution certificate,Ad Hoc类型需要添加所有测试设备的UDID,设置好配置文件名后下载到本地,双击安装即可被Xcode识别
- 打开Xcode项目,进入项目配置的「Signing & Capabilities」标签页,取消勾选Automatically manage signing,在Signing模块的Provisioning Profile下拉列表中选择你刚刚安装的配置文件即可完成配置
注意:如果后续修改了应用的Bundle ID、新增或修改了应用Capability,需要重新生成对应Provisioning Profile并安装,否则会触发签名报错
验证解决方式
亲测通过创建新的Provisioning Profile,搭配旧版iOS distribution certificate使用Manual signing的方式可解决该问题。
内容的提问来源于stack exchange,提问作者Tanya Berezovsky
相关产品推荐
相关产品推荐

