繁体   English   中英

Xcode 7错误:“缺少iOS分发签名身份...”

[英]Xcode 7 error: “Missing iOS Distribution signing identity for …”

我尝试将我的应用程序上传到iTunes Connect resp。 AppStore并收到以下错误:

无法找到或生成匹配的签名资产

Xcode试图找到或生成匹配的签名资产,但由于以下问题而未能这样做。

缺少iOS发布签名身份... Xcode可以为您请求一个。

在我设置新的开发机器之前,通过Xcode 7将开发人员帐户从旧机器导出到新机器。

我该怎么做才能解决这个问题?

来自Apple -

感谢您引起社区的关注并为您遇到的问题道歉。 此问题源于在系统和登录密钥链中都有过期的WWDR中间证书副本。 要解决此问题,您应首先下载并安装新的WWDR中间证书 (通过双击该文件)。 接下来,在Keychain Access应用程序中,选择System keychain。 确保在“查看”菜单中选择“显示过期的证书”,然后删除Apple全球开发者关系证书颁发机构中级证书的过期版本(已于2016年2月14日到期)。 您的证书现在应该在Keychain Access中显示为有效,并且可供Xcode用于提交到App Store。

如下面的评论中所述,还需要从login部分删除过期的证书:

对于所有无法使其工作的人尽管有说明......有两个过期的WWDR证书。 一个在登录钥匙串中,另一个在系统中。 您必须删除它们才能使工作正常

我今天也遇到了同样的问题。 以下步骤解决了我的问题。

  1. 下载https://developer.apple.com/certificationauthority/AppleWWDRCA.cer
  2. 双击以安装到Keychain。
  3. 然后在Keychain中,在Keychain app中选择View - >“Show Expired Certificates”。
  4. 它将列出所有过期的证书。
  5. 从“登录”选项卡中删除“Apple全球开发者关系证书颁发机构证书”
  6. 并从“系统”选项卡中删除它。

现在你准备好了。

我一直在讨论这个问题,看到我的所有证书都失效了 - 哦不!

事实证明我从未删除过期的证书。 在我从Keychain Access应用程序中选择之前,它没有出现在我面前:

查看 - >显示过期的证书

然后

系统 - >所有项目

最终会显示那个过期的证书。 删除它并从XCode重试将获取新的有效证书。

只需确保在Keychain Access应用程序中搜索“所有项目”。 无效的证书是指向尚未删除的过期证书的结果。

以下过程将解决问题,

1:打开KeyChain访问,并从“登录”和“系统”部分删除“Apple全球开发者关系证书颁发机构”(2016年2月14日到期)。 如果找不到,请使用“查看”菜单中的“显示过期的证书”。

在此输入图像描述

2:现在下载https://developer.apple.com/certificationauthority/AppleWWDRCA.cer并双击证书将其添加到Keychain access>证书(证书于2023年2月8日到期)。 现在证书的有效状态应该变为绿色,如下所示。

在此输入图像描述

一旦检查状态。

Apple已进行以下更改,因此请下载新证书developer.apple.com

更新证书并将其放置在屏幕截图下方。在下面的屏幕截图中的钥匙串中,单击系统,然后单击证书。 删除过期的证书。 然后拖放从上面链接下载的AppleWWDRCA.cer

Apple全球开发者关系中级证书到期

为帮助保护客户和开发人员,我们要求所有第三方应用程序,Apple Wallet,Safari Extensions,Safari推送通知和App Store购买收据的通行证均由受信任的证书颁发机构签名。 Apple全球开发人员关系证书颁发机构颁发用于为Apple设备签署软件的证书,允许我们的系统确认您的软件是按预期交付给用户的,并且未经过修改。

Apple全球开发者关系认证中级证书即将到期,我们已签发续订证书,必须在2016年2月14日开始签署所有新的Apple Wallet通行证,推送Safari推送通知包和Safari Extensions时包含该证书。

虽然大多数开发人员和用户不会受到证书更改的影响,但我们建议所有开发人员在其开发系统和服务器上下载并安装续订证书,这是最佳做法。 所有应用程序仍可在适用于iOS,Mac和Apple TV的App Store上使用。

由于可以使用不同的方法来验证收据和提供远程通知,因此我们建议您测试服务以确保不存在特定于实现的问题。 如果收据检查代码对证书做出错误的假设,您的应用可能会遇到收据验证失败。 确保您的代码符合“收据验证编程指南”并在2016年2月14日之前解决所有收据验证问题。

在此输入图像描述

搜索了一段时间后,我发现从Xcode导出开发人员帐户并将其导入新机器再次通过Xcode是不够的。

此外,我需要将名为“ Apple全球开发人员关系证书颁发机构 ”的Certficate从前一台开发机器的钥匙链复制到新开发机器的钥匙链中。

这解决了我的问题。

我导入了新的Apple WWDR证书,该证书在2023年到期,但我仍然遇到问题,我的开发人员证书显示无效的颁发者错误。

在钥匙串访问中,转到查看 - >显示过期的证书,然后在您的登录密钥链中突出显示过期的WWDR证书并将其删除。 我的系统密钥链中也有相同的过期证书,所以我也从那里删除了它。(重要)

从登录和系统密钥链中删除过期的证书后,我能够再次为分发构建。

我删除了旧的AppleWWDRCA,下载并安装了AppleWWDRCA ,但问题仍然存在。 我还从Keychain Access检查了我的分发和开发证书,并看到下面的错误;

"This certificate has an invalid issuer."

然后,

  1. 我撤销了会员中心的开发和分发证书。
  2. 重新创建CSR文件,并从零添加开发和分发证书,下载并安装。

这个固定的证书问题。

由于旧证书被撤销,现有的配置文件无效。 解决这个问题;

  1. 在成员中心,打开配置配置文件。
  2. 单击“编辑”,从列表中选中证书,然后单击“生成”按钮,打开配置文件详细信息。
  3. 下载并安装开发和分发配置文件。

我希望这有帮助。

我的回答是不同的,并附有以下信息:

resource fork, Finder information, or similar detritus not allowed

解决方案是生成图形:

macOS Sierra Xcode 8中的代码签名错误:不允许使用资源分支,Finder信息或类似碎片

不要忘记为Apple开发者帐户安装iOS证书。

确保在Project Navigator> Signing> Team中,必须选择一个团队名称。

在此输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM