上传档案错误:“缺少用于iOS分发签名的标识...”

90
我正在尝试使用Xcode将我的iOS应用程序存档上传到iTunes Connect,但是当我点击“上传到App Store”时,出现以下错误:

Xcode 试图定位或生成匹配的签名资产,由于以下问题而无法执行此操作。 缺少 iOS 分发签名标识符 ____。 Xcode 可以为您请求一个。

我非常困惑,因为大约2个小时前,我刚刚成功地上传了同一应用程序的存档,然后我需要进行一次简单的修复,然后需要重新上传存档,现在我出现了这个错误。 我没有改变其他任何东西。

我已经尽力尝试解决问题了,重启了Xcode和电脑,进入Xcode首选项,在设备描述文件上点击“全部下载”,在相同页面上点击“重置”iOS分发,从会员中心再次下载iOS分发描述文件,在应用程序构建设置的代码签名设置中手动将发布签名标识设置为iOS分发描述文件,并重新存档多次。

更新:原来是由于WWDRCA今天过期所致:https://developer.apple.com/support/certificates/expiration/ 很多其他人也遇到了同样的问题,我通过将计算机日期向后改1天来暂时绕过了这个问题。

我现在也遇到了这个问题 :( 你找到答案了吗? - sudoExclaimationExclaimation
2
nvm,我已经从你的解决方案和另一个解决方案中解决了它。谢谢!这对我来说完美地解决了问题。在钥匙串 > 查看 > 一旦我启用了显示过期证书,就会出现今天到期的登录和系统证书 - 2016年2月14日。我能够删除它们并从你的链接中添加WWDR证书。之后它就完美地工作了! - sudoExclaimationExclaimation
请查看此链接:https://dev59.com/dlwY5IYBdhLWcg3wQ16k#35406327。 - Avaan
可能是这个证书的发行者无效 Apple Push Services的重复问题。 - Peter O.
9个回答

175
问题出在苹果的WWDRCA证书已于今天过期(2016年2月14日):https://developer.apple.com/support/certificates/expiration/
打开密钥串访问,然后在菜单中点击查看->显示过期的证书。然后,从登录系统钥匙串中删除过期的Apple Worldwide Developer Relations Certificate Authority。通过从https://developer.apple.com/certificationauthority/AppleWWDRCA.cer下载并打开它来安装苹果的更新证书。
还需要重新启动Xcode以反映更改。然后,清除并构建您的项目,然后重试生成您的存档文件。 Your keychain should show like that

1
这对我有用。我不明白为什么XCode不能弄清楚不要使用过期的证书。 - MattM
感谢您指出需要点击“查看”->“显示已过期的证书”。我在其他答案中没有看到这一点,这是救命稻草。 - Michael Marvick

54

以下是苹果公司的声明:

感谢您向社区提供此信息,并为您遇到的问题道歉。此问题源于在您的系统和登录钥匙串中同时拥有过期的WWDR中间证书的副本。要解决此问题,您应该首先下载并安装新的WWDR中间证书(双击该文件)。接下来,在钥匙串访问应用程序中,选择系统钥匙串。确保在“查看”菜单中选择“显示已过期的证书”,然后删除Apple Worldwide Developer Relations Certificate Authority中间证书的过期版本(已于2016年2月14日过期)。您的证书现在应该在钥匙串访问中显示为有效,并可供Xcode用于提交到App Store。

https://forums.developer.apple.com/thread/37208

  1. 下载https://developer.apple.com/certificationauthority/AppleWWDRCA.cer,并双击将其安装到钥匙串中。
  2. 钥匙串应用程序中选择“查看” -> “显示已过期的证书”
  3. “登录”选项卡和“系统”选项卡中删除Apple Worldwide Developer Relations Certificate Authority证书。

编辑者:Jeremy Molayem 确保新下载的证书同时出现在登录和系统选项卡中,只放在系统选项卡中仍会导致错误。**


谢谢,我已经花了整个晚上来寻找解决方案。 - Kamal Upasena
5
“确保新下载的证书同时位于登录和系统中”是拯救我的关键。谢谢。 - Surpher
最后一行也救了我。你必须删除旧的证书并两次安装新的证书。一个选择在钥匙串左侧选项中登录选项,另一个选择系统选项同样在左侧选项中。谢谢! - Thais

15
  1. 下载 https://developer.apple.com/certificationauthority/AppleWWDRCA.cer
  2. 双击安装该证书到钥匙串中。
  3. 从钥匙串中选择视图 -> "显示已过期的证书"。
  4. 它会列出所有已过期的证书。
  5. 从 "登录" 选项卡中删除 "Apple Worldwide Developer Relations Certificate Authority certificates"。
  6. 也要从 "系统" 选项卡中删除它。
  7. 重新启动您的 Mac。

现在您的系统已准备好上传应用程序。


4

3

我曾经遇到过同样的问题,通过在我的钥匙串中安装这个"苹果全球开发者关系证书颁发机构"证书,我成功地解决了这个问题:链接


2
尽管看起来很奇怪,但将电脑日期向后调整一天是可以的。

1
如果您已经更新了账户开发者,请前往供应配置文件网站并在开发者简介中进行更新。

1
我曾经遇到了这个完全相同的问题,尝试了所有方法,删除了钥匙串上过期的证书,下载了其他人发布的新WWDRCA并重新编辑和下载了我的配置文件。然后退出Xcode,再重新打开并清理,但是都没有起作用。唯一有效的方法是将我的Mac日期更改为2016年1月1日,上传就可以了!显然这不是一个永久性的解决方法,但是我有一个截止日期,需要尽快上传,所以希望这可以帮助到处于类似情况的人。

0

我也面对过同样的问题,唯一有效的解决方法是将电脑日期回调,正如其他人建议的那样。我尝试下载了“Apple World Wide Developer Relations Certificate Authority”,但毫无进展。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接