我试图将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:我已经确定此计算机上的任何项目都会导致相同的崩溃和警告。
答案 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):
答案 2 :(得分:5)
我可以通过从 here 下载新证书并安装来解决该问题。 查看 https://developer.apple.com/de/support/expiration/ 了解更多详情。
答案 3 :(得分:3)
我遇到了同样的问题,并通过以下步骤进行了修复:
答案 4 :(得分:1)
现在回答为时已晚,但如果有人仍在此线程上寻找解决方案-
如果您是第一次安装证书或安装在另一台机器上创建的证书,就会发生这种情况
在您的 Xcode 项目中,转到签名功能,输入正确的包标识符,禁用自动签名,选择适当的配置文件/导入/下载配置文件
然后您会在个人资料下方找到信任修复选项,点击它点击信任输入您的登录凭据
这将创建并安装以下证书
答案 5 :(得分:0)
几天来我一直面临着同样的问题。最后,我仅通过从“密钥链访问”更改我的根CA即可解决该问题。 在系统/登录密钥链中查看。哪个证书颁发机构被用作您个人配置文件的证书的签名者。输入有效的CA证书,您一切顺利! 希望能帮助到你。 iao!
答案 6 :(得分:0)
这些都没有真正为我工作。我不得不删除派生数据; link、删除所有证书并重新安装、清理缓存并且不得不重新安装 pod 文件。折腾了几个小时后,我找到了一个合适的解决方案。