【发布时间】:2020-10-15 15:20:57
【问题描述】:
我有两个项目 A 和 B,有两个分发证书同名(“iPhone Distribution: NTT Check”),但私钥不同。
项目 A 运行良好,可以使用名为“iPhone Distribution: NTT Check”的分发证书成功生成存档和 IPA。
我将新的分发证书 B 添加到密钥链中,然后项目 A 由于新的分发证书“iPhone 分发:NTT 检查”而失败。两个项目的分发证书名称相同,但私钥不同。
检查依赖项 代码签名错误:配置文件“*****”不包括签名证书“iPhone 分发:NTT 检查”。 代码签名错误:SDK“iOS 13.2”中的产品类型“应用程序”需要代码签名 代码签名错误:SDK“iOS 13.2”中的产品类型“应用程序”需要代码签名
我确定如何解决此错误。任何帮助将不胜感激。
【问题讨论】:
-
您不需要为每个单独的项目提供不同的私钥(显然还有证书)。尝试删除其中一个并编辑另一个的配置文件以使用相同的签名证书。
-
@gcharita 感谢您的回复。你能帮我理解为什么项目 B 在 login.keychain 中使用两个分发证书可以正常工作,以及为什么项目 A 由于项目 B 的新添加分发证书而失败。
-
同名冲突导致的。这是Xcode中的一个常见问题stackoverflow.com/questions/11202790/…
-
@gcharita 在遵循您的建议删除重复证书并相应地编辑配置文件以使用正确的证书后解决。
-
因此,当 Xcode 寻找具有此名称的有效证书时,显然会选择最后创建的证书。 (或者可能是钥匙串中最后导入的)这就是您的 B 项目运行良好的原因。