"警告:无法为签名者构建自签名根链#34; Xcode 9.2中的警告

时间:2018-02-21 16:51:14

标签: xcode certificate root code-signing

我试图将Xcode项目迁移到另一台计算机。它给了我警告"警告:无法为签名者建立自签名链的链#34;当它运行时,它会立即崩溃,类似于此Stack Overflow中显示的内容:

App working on simulator but not on iPhone( dyld`__abort_with_payload dyld`_dyld_start)

我的问题与Apple开发人员论坛中的内容类似: https://forums.developer.apple.com/thread/86161

与此Stack Overflow中描述的类似: Xcode ios app development code signing

除了删除证书并重新添加证书,重新添加我的帐户并重新启动似乎没有帮助的建议。我已经第二次删除了我的开发人员证书,现在我没有看到它回来了,而且由于我的开发门户似乎没有出现,我不知道如何取回它。有一个像以前一样下载它的地方。

我也尝试过几次删除派生数据文件夹。

e:我已经确定此计算机上的任何项目都会导致相同的崩溃和警告。

7 个答案:

答案 0 :(得分:32)

如果其他解决方案都不起作用,请尝试将中间签名证书添加到您的系统钥匙串中。我在尝试手动创建配置文件/证书时发现了这一点,因为没有其他工作 - 从 Apple 开发人员平台上的新配置文件流程的创建新证书步骤:

<块引用>

要使用您的证书,您的系统钥匙串中必须有中间签名证书。这是由 Xcode 自动安装的。但是,如果您需要重新安装中间签名证书,请单击以下链接: Worldwide Developer Relations Certificate Authority (Expiring 02/07/2023) Worldwide Developer Relations Certificate Authority (Expiring 02/20/2030)

下载这两个文件并双击它们自动添加到系统钥匙串后,xcode中的自动配置文件开始工作(我不需要完成手动配置文件的过程,但我在那里找到了链接)

答案 1 :(得分:5)

@waaheeda 的回答让我找到了解决这个问题的正确方向。

我的存储库中有一个钥匙串,用于在我的 CI 上签名。更新我的 iOS 企业分发证书和配置文件并相应地更新钥匙串后,我的 CI 签名停止工作。代码签名在我自己的机器上本地运行。

我突然偶然发现了 this 并发现这部分特别有趣:

<块引用>

2020 年 9 月 2 日之后生成的企业 iOS 分发证书需要在任何将进行代码签名的机器上安装新的中间证书。

因此,我在 Keychain Access 的本地“登录”钥匙串中找到了“Apple Worldwide Developer Relations Intermediate Certificate Expiration”,并将其添加到我的存储库中的钥匙串中,它现在似乎已经修复了签名(希望直到2030):

enter image description here

答案 2 :(得分:5)

我可以通过从 here 下载新证书并安装来解决该问题。 查看 https://developer.apple.com/de/support/expiration/ 了解更多详情。

答案 3 :(得分:3)

我遇到了同样的问题,并通过以下步骤进行了修复:

  1. 打开钥匙串访问
  2. 选择登录名,然后单击“证书”
  3. 双击Apple全球开发者关系证书颁发机构
  4. 打开信任部分,并从“始终信任”中将其设置为“使用系统默认值”
  5. 清理构建文件夹并运行

答案 4 :(得分:1)

现在回答为时已晚,但如果有人仍在此线程上寻找解决方案-

如果您是第一次安装证书或安装在另一台机器上创建的证书,就会发生这种情况

在您的 Xcode 项目中,转到签名功能,输入正确的包标识符,禁用自动签名,选择适当的配置文件/导入/下载配置文件

然后您会在个人资料下方找到信任修复选项,点击它点击信任输入您的登录凭据

这将创建并安装以下证书

enter image description here

答案 5 :(得分:0)

几天来我一直面临着同样的问题。最后,我仅通过从“密钥链访问”更改我的根CA即可解决该问题。 在系统/登录密钥链中查看。哪个证书颁发机构被用作您个人配置文件的证书的签名者。输入有效的CA证书,您一切顺利! 希望能帮助到你。 iao!

答案 6 :(得分:0)

这些都没有真正为我工作。我不得不删除派生数据link删除所有证书并重新安装清理缓存并且不得不重新安装 pod 文件。折腾了几个小时后,我找到了一个合适的解决方案。