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

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

未能找到或生成匹配的签名资产

Xcode尝试定位或生成匹配的签名资产,但由于以下问题而失败。

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

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

我能做些什么来解决这个问题?

170899 次浏览

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

此外,我需要将名为“Apple全球开发者关系证书授权中心”的证书从以前的开发机器的钥匙串复制到新机器的钥匙串。

这为我解决了问题。

从苹果-

谢谢你把这件事引起社区的注意对你遇到的问题表示歉意。这个问题源于在两者中都有过期的WWDR中间证书的副本您的系统和登录钥匙串。要解决问题,您应该首先下载并安装新的WWDR中级证书(通过双击文件)。接下来,在钥匙串访问中应用程序,选择系统钥匙串。确保选择“显示查看菜单中的“过期证书”,然后删除过期证书Apple全球开发者关系证书版本权威中级证书(2016年2月14日到期)。您的证书现在应该在Keychain Access中显示为有效,并且是可用于Xcode向App Store提交。

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

对于所有不能得到它的工作,尽管指示…那里有两个过期的WWDR证书。一个在登录钥匙串中,另一个一个在系统中。您必须删除它们两个才能制作正常工作

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

  1. 下载https://developer.apple.com/certificationauthority/AppleWWDRCA.cer
  2. 双击以安装到Keychain。
  3. 然后在钥匙串中,在钥匙串应用程序中选择查看->“显示过期证书”。
  4. 它将列出所有过期的证书。
  5. 从“登录”选项卡中删除“苹果全球开发者关系证书授权中心证书”
  6. 并将其从“系统”选项卡中删除。

现在你准备好了。

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

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

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

为了帮助保护客户和开发人员,我们要求所有第三方派对应用程序,Apple钱包通行证,Safari扩展,Safari推送通知和App Store购买收据由受信任的证书颁发机构。Apple全球开发者关系证书授权中心颁发用于签署适用于Apple设备的软件,允许我们的系统确认您的软件按预期交付给用户,未经修改。

Apple全球开发者关系认证中级证书即将到期,我们已颁发更新的证书必须包含在签署所有新的Apple钱包通行证时,推送Safari推送通知和Safari扩展启动包2016年2月14日

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

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

在此处输入图片描述

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

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

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

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

"This certificate has an invalid issuer."

然后,

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

这个固定的证书问题。

由于旧证书已吊销,现有的预配配置文件将变为无效。要修复此问题;

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

我希望这能有所帮助。

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

原来我从来没有删除过期的证书。它没有出现在我面前,直到我从Keychain Access应用程序中选择:

查看->显示过期证书

然后

系统->所有项目

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

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

下面的过程将解决这个问题,

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

在此处输入图片描述

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

在此处输入图片描述

一旦检查状态。

不要忘记为您的苹果开发者账户安装iOS证书。

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

在此处输入图片描述

我的回答是不同的,并伴随着消息:

resource fork, Finder information, or similar detritus not allowed

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

macOS Sierra Xcode 8中的代码签名错误:不允许资源分叉、Finder信息或类似的碎屑