我试图将我的应用程序分别上传到 iTunes Connect。 AppStore 并收到以下错误:
未能找到或生成匹配的签名资产 Xcode 尝试定位或生成匹配的签名资产,但由于以下问题而失败。
缺少用于...的 iOS 分发签名身份 Xcode 可以为您请求一个。
在我设置新的开发机器之前,通过 Xcode 7 将开发人员帐户从旧机器导出到新机器。
我能做些什么来解决这个问题?
感谢您提请社区注意这一点,并对您遇到的问题表示歉意。此问题源于您的系统和登录钥匙串中都有过期的 WWDR 中间证书的副本。要解决此问题,您应该首先下载并安装新的 WWDR 中间证书(通过双击文件)。接下来,在 Keychain Access 应用程序中,选择 System keychain。确保在 View 菜单中选择“Show Expired Certificates”,然后删除 Apple Worldwide Developer Relations Certificate Authority Intermediate 证书的过期版本(2016 年 2 月 14 日过期)。您的证书现在应该在 Keychain Access 中显示为有效,并且 Xcode 可以使用该证书提交到 App Store。
如以下评论中所述,过期的证书也需要从 login
部分中删除:
尽管有说明,但所有无法让它工作的人......有两个过期的 WWDR 证书。一个在登录钥匙串中,另一个在系统中。您必须删除它们才能使事情正常进行
我今天也面临同样的问题。以下步骤解决了我的问题。
下载 https://developer.apple.com/certificationauthority/AppleWWDRCA.cer 双击安装到 Keychain。然后在 Keychain 中,选择 View -> Keychain app 中的“Show Expired Certificates”。它将列出所有过期的证书。从“登录”选项卡中删除“Apple 全球开发者关系证书颁发机构证书”并从“系统”选项卡中删除它。
现在你准备好了。
我一直遇到这个问题,发现我所有的证书都失效了——哦,不!
事实证明我从未删除过过期的证书。在我从钥匙串访问应用程序中选择之前,它没有出现在我面前:
查看->显示过期证书
然后
系统->所有项目
最终将显示那个粗糙的过期证书。删除它并从 XCode 重试将获取新的有效证书。
只需确保在 Keychain Access 应用程序中搜索“所有项目”即可。无效的证书是指向尚未删除的过期证书的结果。
下面的过程将解决问题,
1:打开KeyChain访问,并从“登录”和“系统”部分删除“Apple全球开发者关系证书颁发机构”(2016年2月14日到期)。如果找不到,请使用“查看”菜单中的“显示过期证书”。
https://i.stack.imgur.com/7vMP2.png
2:现在下载https://developer.apple.com/certificationauthority/AppleWWDRCA.cer并双击证书将其添加到钥匙串访问>证书(2023 年 2 月 8 日到期)。现在证书的有效状态应该变成绿色,如下所示。
https://i.stack.imgur.com/4tVrm.png
一旦检查状态。
Apple 进行了以下更改,因此请下载新证书 developer.apple.com
renewed certificate 并将其放置在如下屏幕截图中。在如下屏幕截图的钥匙串中单击系统,然后单击证书。删除过期的证书。然后拖放您从上述链接下载的 AppleWWDRCA.cer
Apple 全球开发者关系中级证书过期 为帮助保护客户和开发者,我们要求所有第三方应用程序、Apple Wallet 通行证、Safari 扩展程序、Safari 推送通知和 App Store 购买收据均由受信任的证书颁发机构签署。 Apple 全球开发者关系证书颁发机构颁发您用于为 Apple 设备签署您的软件的证书,允许我们的系统确认您的软件已按预期交付给用户并且未被修改。 Apple 全球开发者关系认证中级证书即将到期,我们已颁发更新的证书,从 2016 年 2 月 14 日开始,在签署所有新的 Apple Wallet Pass、Safari 推送通知和 Safari 扩展程序包时必须包含该证书。虽然大多数开发者和用户不会受到证书更改的影响,我们建议所有开发人员下载并在他们的开发系统和服务器上安装更新的证书作为最佳实践。所有应用程序将在适用于 iOS、Mac 和 Apple TV 的 App Store 中继续提供。由于可以使用不同的方法来验证收据和发送远程通知,我们建议您测试您的服务以确保不存在特定于实现的问题。如果收据检查代码对证书做出错误假设,您的应用可能会遇到收据验证失败。确保您的代码符合收据验证编程指南,并在 2016 年 2 月 14 日之前解决所有收据验证问题。
https://i.stack.imgur.com/KEbXu.png
搜索了一段时间后,我发现从 Xcode 导出开发者帐户并在新机器上再次通过 Xcode 导入这些帐户是不够的。
此外,我需要将名为“Apple World Wide Developer Relations Certificate Authority”的证书从前开发机器的钥匙串复制到新机器的钥匙串。
这为我解决了这个问题。
我导入了 2023 年到期的新 Apple WWDR 证书,但我仍然遇到问题,我的开发人员证书显示无效颁发者错误。
在钥匙串访问中,转到查看 -> 显示过期证书,然后在您的登录钥匙串中突出显示过期的 WWDR 证书并将其删除。我的系统钥匙串中也有相同的过期证书,所以我也从那里删除了它。(重要)
从登录和系统钥匙串中删除过期证书后,我能够再次为分发构建。
我删除了旧的 AppleWWDRCA,下载并安装了 AppleWWDRCA,但问题仍然存在。我还从 Keychain Access 检查了我的分发和开发证书,并查看以下错误;
"This certificate has an invalid issuer."
然后,
我撤销了会员中心的开发和分发证书。重新创建 CSR 文件并从零开始添加开发和分发证书,下载并安装。
此修复了证书问题。
由于旧证书被吊销,现有的配置文件变得无效。解决这个问题;
在会员中心,打开配置文件。通过单击“编辑”打开配置文件详细信息,从列表中检查证书,然后单击“生成”按钮。下载并安装了开发和分发配置文件。
我希望这有帮助。
我的回答有所不同,并伴随着消息而来:
resource fork, Finder information, or similar detritus not allowed
解决方案与生成的图形有关:
确保在 Project Navigator > Signing > Team 中,必须选择团队名称。
https://i.stack.imgur.com/WOS0m.png
不定期副业成功案例分享