Xcode 7错误:“缺少…的iOS发布签名”


837

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

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

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

Xcode可以为您请求一个缺少的iOS发行版签名。

在安装新的开发计算机之前,请通过Xcode 7将开发人员帐户从旧的导出到新的计算机。

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


您还需要具有分发配置文件和证书及其密钥,才能生成IPA(甚至具有开发配置文件)
Bhumit Mehta

1
使用新的Xcode 7开发人员帐户导入导出,还可以导出配置文件和证书。在我来说,我需要额外转移“苹果全球开发者关系的证书颁发机构”证书(见下面的答案)
Awsed

1
@Awsed您可以在Apple文档中找到有关证书和配置文件的详细过程。这将是有帮助的。
Dipen Panchasara 2015年

Answers:


1949

从苹果 -

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

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

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


63
我认为这是最好的答案,因为它包含有关删除过期证书的说明。这整个问题就是克雷克雷。
乍得Pavliska '16

12
它每两年发生一次;许多应用程序在Mac上停止工作,直到用户重新启动Mac。他们当然会怪你。至少新证书要到2023
Tibidabo

4
谢谢,我的朋友!如果它不起作用:您确定添加了新的吗?我必须重新启动Mac并再次下载它,因为我的Mac不想添加它。(我知道这一点是因为没有要求我输入密码...)
神似的

131
尽管有说明,但仍然无法正常工作...有两个过期的WWDR证书。一个在登录钥匙串中,另一个在系统中。你必须删除两个,以使事情工作他们。
Aleks N.

3
确保当您转到“钥匙串访问”时,转到“钥匙串”>“系统”并从那里删除旧证书。在执行此操作之前,我的签名身份全部被吊销。
wowzuzz

562

我今天也面临着同样的问题。以下步骤解决了我的问题。

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

现在您准备好了。


62
“ 6.还要从“系统”选项卡中将其删除。” 步骤解决了我的问题。这是正确的答案!!!
EFE 2016年

4
我也是!我已修复并从“系统”选项卡
Edward Chiang

1
我正在执行以下步骤,包括从系统中删除它,但是,每次打开扩展构建器(Safari开发人员)时,旧的过期证书都会重新出现。有任何想法吗?
安德烈

3
通过以下步骤解决以上问题:“如果Safari Extension Builder中没有您的证书,请将您的签名系统更新为OS X El Capitan v10.11.4 beta”:证书到期
Andre

对于那些想知道在哪里可以找到证书的人:Apple认证
Jorge Casariego,2016年

41

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

事实证明,我从未删除过期的证书。在我从“钥匙串访问”应用程序中选择之前,它没有显示出来:

查看->显示过期的证书

然后

系统->所有项目

最终将显示过期证书。删除它,然后从XCode重试,将获取新的有效证书。

只要确保您在“钥匙串访问”应用程序中搜索“所有项目”即可。无效的证书是指向尚未删除的过期证书的结果。


显示过期的证书然后从系统中删除为我解决了这个问题。
Jules

33

以下过程将解决问题,

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

在此处输入图片说明

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

在此处输入图片说明

一旦检查状态。


2
谢谢!这是“如果找不到它,请在“查看”菜单中使用“显示过期的证书”。” 帮助了我很多!
SDW

为什么此屏幕截图中有趾甲剪裁?
FlavorScape

21

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

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

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

为了帮助保护客户和开发人员,我们要求所有第三方应用程序,Apple Wallet的通行证,Safari扩展,Safari推送通知和App Store购买收据均由受信任的证书颁发机构签名。苹果全球开发者关系证书颁发机构会颁发您用来对Apple设备进行软件签名的证书,从而使我们的系统能够确认您的软件已按预期交付给用户,并且未经修改。

自2016年2月14日起,Apple全球开发人员关系认证中间证书即将过期,并且我们在签署所有新的Apple Wallet Pass,用于Safari Push Notifications的推送包和Safari Extensions时,必须发行一个续订的证书。

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

由于可以使用不同的方法来验证收据和传递远程通知,因此我们建议您测试服务以确保不存在特定于实现的问题。如果收据检查代码对证书的假设不正确,则您的应用可能会遇到收据验证失败的情况。确保您的代码遵守《收据验证编程指南》,并在2016年2月14日之前解决所有收据验证问题。

在此处输入图片说明


12

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

另外,我需要将名为“ Apple World Wide Developer Relations证书颁发机构 ”的证书从以前的开发机器的钥匙串复制到新的机器上。

这为我解决了问题。


10
您可以使用以下链接安装它:developer.apple.com/certificationauthority/AppleWWDRCA.cer
ERU 2015年

12

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

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

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


4

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

"This certificate has an invalid issuer."

然后,

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

此固定证书问题。

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

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

我希望这有帮助。




1

确保在“项目导航器”>“签名”>“团队”中,必须选择一个团队名称。

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.