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

本文翻译自:Xcode 7 error: “Missing iOS Distribution signing identity for …”

I tried to upload my App to iTunes Connect resp. 我尝试将我的应用程序上传到iTunes Connect resp。 AppStore and got the following error: AppStore并收到以下错误:

Failed to locate or generate matching signing assets 无法找到或生成匹配的签名资产

Xcode attempted to locate or generate matching signing assets and failed to do so because of the following issues. Xcode试图找到或生成匹配的签名资产,但由于以下问题而未能这样做。

Missing iOS Distribution signing identity for ... Xcode can request one for you. 缺少iOS发布签名身份... Xcode可以为您请求一个。

Before I setup a new development machine, exported the developer accounts via Xcode 7 from the old to the new machine. 在我设置新的开发机器之前,通过Xcode 7将开发人员帐户从旧机器导出到新机器。

What can I do to fix this? 我该怎么做才能解决这个问题?


#1楼

参考:https://stackoom.com/question/2DiI1/Xcode-错误-缺少iOS分发签名身份


#2楼

After searching for a while I found out that it is not sufficient to export the developer accounts from Xcode and import these on the new machine, again via Xcode. 搜索了一段时间后,我发现从Xcode导出开发人员帐户并将其导入新机器再次通过Xcode是不够的。

Additionally I needed to copy the Certficate named " Apple World Wide Developer Relations Certificate Authority " from the keychain of the former development machine to the keychain of the new one. 此外,我需要将名为“ Apple全球开发人员关系证书颁发机构 ”的Certficate从前一台开发机器的钥匙链复制到新开发机器的钥匙链中。

This solved the problem for me. 这解决了我的问题。


#3楼

From Apple - 来自Apple -

Thanks for bringing this to the attention of the community and apologies for the issues you've been having. 感谢您引起社区的关注并为您遇到的问题道歉。 This issue stems from having a copy of the expired WWDR Intermediate certificate in both your System and Login keychains. 此问题源于在系统和登录密钥链中都有过期的WWDR中间证书副本。 To resolve the issue, you should first download and install the new WWDR intermediate certificate (by double-clicking on the file). 要解决此问题,您应首先下载并安装新的WWDR中间证书 (通过双击该文件)。 Next, in the Keychain Access application, select the System keychain. 接下来,在Keychain Access应用程序中,选择System keychain。 Make sure to select “Show Expired Certificates” in the View menu and then delete the expired version of the Apple Worldwide Developer Relations Certificate Authority Intermediate certificate (expired on February 14, 2016). 确保在“查看”菜单中选择“显示过期的证书”,然后删除Apple全球开发者关系证书颁发机构中级证书的过期版本(已于2016年2月14日到期)。 Your certificates should now appear as valid in Keychain Access and be available to Xcode for submissions to the App Store. 您的证书现在应该在Keychain Access中显示为有效,并且可供Xcode用于提交到App Store。

As noted in a comment below, the expired certificate also needs to be removed from the login section, as well: 如下面的评论中所述,还需要从login部分删除过期的证书:

To all that cannot get it working despite the instructions... There are two expired WWDR certs. 对于所有无法使其工作的人尽管有说明......有两个过期的WWDR证书。 One is in login keychain, and the other one is in the System. 一个在登录钥匙串中,另一个在系统中。 You have to delete both of them in order to make things working 您必须删除它们才能使工作正常


#4楼

I also faced the same issue today. 我今天也遇到了同样的问题。 The following steps fixed my issue. 以下步骤解决了我的问题。

  1. Download https://developer.apple.com/certificationauthority/AppleWWDRCA.cer 下载https://developer.apple.com/certificationauthority/AppleWWDRCA.cer
  2. Double-click to install to Keychain. 双击以安装到Keychain。
  3. Then in Keychain, Select View -> "Show Expired Certificates" in Keychain app. 然后在Keychain中,在Keychain app中选择View - >“Show Expired Certificates”。
  4. It will list all the expired certifcates. 它将列出所有过期的证书。
  5. Delete "Apple Worldwide Developer Relations Certificate Authority certificates" from "login" tab 从“登录”选项卡中删除“Apple全球开发者关系证书颁发机构证书”
  6. And also delete it from "System" tab. 并从“系统”选项卡中删除它。

Now you are ready go. 现在你准备好了。


#5楼

Apple has made following changes so download new certificate developer.apple.com Apple已进行以下更改,因此请下载新证书developer.apple.com

renewed certificate and place it as below screen shots .In the keychain as below screen shots click on system and then certificate. 更新证书并将其放置在屏幕截图下方。在下面的屏幕截图中的钥匙串中,单击系统,然后单击证书。 Delete the expired certificate . 删除过期的证书。 Then drag and drop the AppleWWDRCA.cer that you downloaded from above link 然后拖放从上面链接下载的AppleWWDRCA.cer

Apple Worldwide Developer Relations Intermediate Certificate Expiration Apple全球开发者关系中级证书到期

To help protect customers and developers, we require that all third party apps, passes for Apple Wallet, Safari Extensions, Safari Push Notifications, and App Store purchase receipts are signed by a trusted certificate authority. 为帮助保护客户和开发人员,我们要求所有第三方应用程序,Apple Wallet,Safari Extensions,Safari推送通知和App Store购买收据的通行证均由受信任的证书颁发机构签名。 The Apple Worldwide Developer Relations Certificate Authority issues the certificates you use to sign your software for Apple devices, allowing our systems to confirm that your software is delivered to users as intended and has not been modified. Apple全球开发人员关系证书颁发机构颁发用于为Apple设备签署软件的证书,允许我们的系统确认您的软件是按预期交付给用户的,并且未经过修改。

The Apple Worldwide Developer Relations Certification Intermediate Certificate expires soon and we've issued a renewed certificate that must be included when signing all new Apple Wallet Passes, push packages for Safari Push Notifications, and Safari Extensions starting February 14, 2016. Apple全球开发者关系认证中级证书即将到期,我们已签发续订证书,必须在2016年2月14日开始签署所有新的Apple Wallet通行证,推送Safari推送通知包和Safari Extensions时包含该证书。

While most developers and users will not be affected by the certificate change, we recommend that all developers download and install the renewed certificate on their development systems and servers as a best practice. 虽然大多数开发人员和用户不会受到证书更改的影响,但我们建议所有开发人员在其开发系统和服务器上下载并安装续订证书,这是最佳做法。 All apps will remain available on the App Store for iOS, Mac, and Apple TV. 所有应用程序仍可在适用于iOS,Mac和Apple TV的App Store上使用。

Since different methods can be used for validating receipts and delivering remote notifications, we recommend that you test your services to ensure no implementation-specific issues exist. 由于可以使用不同的方法来验证收据和提供远程通知,因此我们建议您测试服务以确保不存在特定于实现的问题。 Your apps may experience receipt verification failure if the receipt checking code makes incorrect assumptions about the certificate. 如果收据检查代码对证书做出错误的假设,您的应用可能会遇到收据验证失败。 Make sure that your code adheres to the Receipt Validation Programming Guide and resolve all receipt validation issues before February 14, 2016. 确保您的代码符合“收据验证编程指南”并在2016年2月14日之前解决所有收据验证问题。

在此输入图像描述


#6楼

I imported the new Apple WWDR Certificate that expires in 2023, but I was still getting problems and my developer certificates were showing the invalid issuer error. 我导入了新的Apple WWDR证书,该证书在2023年到期,但我仍然遇到问题,我的开发人员证书显示无效的颁发者错误。

In keychain access, go to View -> Show Expired Certificates, then in your login keychain highlight the expired WWDR Certificate and delete it. 在钥匙串访问中,转到查看 - >显示过期的证书,然后在您的登录密钥链中突出显示过期的WWDR证书并将其删除。 I also had the same expired certificate in my System keychain, so I deleted it from there too.(Important) 我的系统密钥链中也有相同的过期证书,所以我也从那里删除了它。(重要)

After deleting the expired cert from the login and System keychains, I was able to build for Distribution again. 从登录和系统密钥链中删除过期的证书后,我能够再次为分发构建。

发布了0 篇原创文章 · 获赞 7 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/asdfgh0077/article/details/105368095