[英]Xcode ios app development code signing
当我在我的 iphone 中运行我的应用程序时,我有这个警告:
unable to build chain to self-signed root for signer "".
我的应用程序安装在 iphone 中,但它突然关闭。
就我而言,
1- 打开钥匙串访问
2- 选择登录,然后单击证书
3- 双击 Apple Worldwide Developer Relations 证书颁发机构
4-打开信任部分,并从“始终信任”设置为“使用系统默认值”
5-清理构建文件夹并运行
我也遇到了同样的错误, unable to build chain to self-signed root for signer...
我的错误是我将发行版/开发者证书的信任设置更改为always trust
。 当我将其改回Use system Default
,一切正常。
我遇到了同样的问题,基本上就像在评论中发布的一样:
问题可能是将您的证书设置为始终信任,这就是我遇到的问题。 如果您收到此警告,阻止您在设备上运行应用程序,这应该可以解决所有问题。
我看到了其他答案并试图删除我的中间钥匙串和根证书。 但是 Apple 不允许删除 Root 证书,除非您处于恢复模式并且我不想尝试这样做。 可能您也不必删除任何内容,因为此解决方案没有它就可以工作。
我只是想我会添加一个图像来澄清事情。 当我在钥匙串中闲逛时不小心更改了默认设置时遇到了这个问题。
在此处下载更新的证书: https : //developer.apple.com/support/expiration/
经过几天的努力寻找一致的方式,这里是解决方案:
这似乎是一个黑客,但它的工作原理!
转到 Xcode Preferences菜单( command + , ),然后是Accounts选项卡
单击左下角的齿轮图标并导出 Apple ID 和代码签名资产...
设置导出密码
⚠️您将删除所有密码和个人资料! 不要忘记您的密码! 强烈建议写下您的密码。
⛔️ 此文件将包含您的所有帐户和个人资料。 确保保持它非常安全。
删除所有帐户。
构建并面对新的错误。
使用您的密码将它们导入回来。
🎉它又开始工作了。
如果您能够在调试模式下安装应用程序,则您正在使用分发证书而不是开发证书,但安装完成后它会自动关闭。
解决 IOS 编码问题的方法之一是遵循以下文档。
并运行以下命令以了解确切问题
spctl -a -t exec -vv <app-path>
再一贴
更改系统中的任何内容后,请始终清理并构建您的项目,以了解解决方案是否成功应用。
同样重要的是要注意,您尝试部署到的物理设备必须列在该配置文件的允许设备列表中 -> 您可以在从您的证书信息弹出的工具提示中看到这一点 -> 您想要确保您的设备列在“设备”部分。
您可以在 Apple 开发者门户网站上创建配置文件时添加/删除设备。
xcode->首选项->账户->选择账户->管理证书->点击弹窗左下角的+图标->ios开发
然后您将看到创建了一个新证书。 现在您可以运行您的应用程序。
经过一天在论坛上的许多答案中挣扎。 我想出了适合我的解决方案。 以下是修复步骤:
Root Certificate Apple Inc. Root Apple Root CA - G3 Root
Intermediate Certificate Worldwide Developer Relations - G1 (Expiring 02/07/2023 21:48:47 UTC) Worldwide Developer Relations - G3 (Expiring 02/20/2030 00:00:00 UTC)
- 重新启动钥匙串并转到证书选项卡的登录部分
- 将根证书拖放到钥匙串中(根证书将被自动信任,不要手动创建)
- 将中间证书拖放到钥匙串
- 将应用程序特定证书 (.p12) 拖放到钥匙串
出现此问题是由于苹果引入了新的根证书和中间证书。 从https://developer.apple.com/support/wwdr-intermediate-certificate/阅读更多详细信息
对我来说,只需在 Xcode 中执行Product > Clean Build Folder
就足以解决这个问题。
我正在添加为我修复它的解决方案,并且已经在那个线程上
这里的关键问题是根证书
导出并从登录/证书中删除钥匙串中名为“ Apple Worldwide Developer Relations Certification Authority ”的证书。
从system/certificate执行相同的操作。
仅在系统/证书中导入一个“Apple Worldwide Developer Relations Certification Authority”。 我导入了过期日期设置为 2030 年(不是 2023 年)的那个。
您还可以从以下位置下载最新版本: https://www.apple.com/certificateauthority/AppleWWDRCAG3.cer
就这样。 但同样,请确保它在您的钥匙串的 SYSTEM 中,并且您的钥匙串的 SYSTEM 区域中只有一个根证书,而在 LOGIN 区域中没有。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.