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

时间:2015-09-28 10:50:35

标签: ios xcode itunesconnect code-signing testflight

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

  

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

     

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

     

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

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

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

11 个答案:

答案 0 :(得分:1947)

From Apple -

  

感谢您将这一点引起社区的关注   为你遇到的问题道歉。这个问题源于此   在两者中都有一份过期的WWDR中级证书的副本   您的系统和登录钥匙串。要解决此问题,您应该这样做   首先下载并安装新的WWDR intermediate certificate(by   双击文件)。接下来,在Keychain Access中   应用程序,选择系统钥匙串。一定要选择“显示   “视图”菜单中的“过期证书”,然后删除过期的证书   Apple全球开发者关系证书的版本   授权中级证书(2016年2月14日到期)。   您的证书现在应该在Keychain Access中显示为有效且是   Xcode可以向App Store提交。

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

  

对于那些尽管有说明而无法使其工作的人......   是两个过期的WWDR证书。一个是登录钥匙串,另一个是   一个是在系统中。你必须删除它们才能制作   工作的事情

答案 1 :(得分:562)

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

  1. 下载https://developer.apple.com/certificationauthority/AppleWWDRCA.cer
  2. 双击以安装到Keychain。
  3. 然后在Keychain中,选择View - > "显示过期的证书"在Keychain app。
  4. 它将列出所有过期的证书。
  5. 删除" Apple全球开发者关系证书颁发机构证书"来自"登录"标签
  6. 并将其从" System"中删除标签。
  7. 现在你准备好了。

答案 2 :(得分:41)

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

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

查看 - >显示过期的证书

然后

系统 - >所有项目

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

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

答案 3 :(得分:33)

以下过程将解决问题,

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

enter image description here

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

enter image description here

检查状态后。

答案 4 :(得分:21)

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

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

下载的AppleWWDRCA.cer
  

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

     

为了帮助保护客户和开发人员,我们要求全部第三   派对应用程序,Apple Wallet,Safari Extensions,Safari Push的通行证   通知和App Store购买收据由受信任的人签名   证书颁发机构。 Apple全球开发者关系   证书颁发机构颁发用于签署您的证书   Apple设备的软件,允许我们的系统确认您的   软件按预期交付给用户,但尚未修改。

     

Apple全球开发者关系认证中级   证书即将到期,我们已颁发续签证书   在签署所有新的Apple Wallet Passes时必须包含,推送   用于Safari推送通知和Safari扩展的软件包   2016年2月14日。

     

虽然大多数开发人员和用户不会受到影响   证书更改,我们建议所有开发人员下载和   在他们的开发系统上安装更新的证书   服务器是最佳实践。所有应用程序将在应用程序上保持可用   适用于iOS,Mac和Apple TV的商店。

     

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

enter image description here

答案 5 :(得分:12)

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

此外,我需要复制名为" Apple全球开发者关系证书颁发机构"从前开发机器的钥匙链到新开发机器的钥匙链。

这解决了我的问题。

答案 6 :(得分:12)

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

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

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

答案 7 :(得分:4)

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

"This certificate has an invalid issuer."

然后,

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

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

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

答案 8 :(得分:3)

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

resource fork, Finder information, or similar detritus not allowed

解决方案与生成的图形有关:

Code Sign Error in macOS Sierra Xcode 8 : resource fork, Finder information, or similar detritus not allowed

答案 9 :(得分:2)

不要忘记为Apple Developer Account安装iOS证书。

答案 10 :(得分:1)

确保在Project Navigator中>签名>团队,必须选择团队名称。

enter image description here