Xcode 7 error: "Missing iOS Distribution signing identity for ..."

Xcode 7 error: "Missing iOS Distribution signing identity for ..."

我尝试将我的应用程序上传到 iTunes Connect。 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.

Missing iOS Distribution signing identity for ... Xcode can request one for you.

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

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

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

此外,我需要将名为“A​​pple World Wide Developer Relations Certificate Authority”的证书从旧开发机器的钥匙串复制到新机器的钥匙串。

这解决了我的问题。

From 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. To resolve the issue, you should first download and install the new WWDR intermediate certificate (by double-clicking on the file). Next, in the Keychain Access application, select the 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). Your certificates should now appear as valid in Keychain Access and be available to Xcode for submissions to the App Store.

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

To all that cannot get it working despite the instructions... There are two expired WWDR certs. 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

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

  1. 下载https://developer.apple.com/certificationauthority/AppleWWDRCA.cer
  2. 双击安装到钥匙串。
  3. 然后在钥匙串中,Select 在钥匙串应用程序中查看 -> "Show Expired Certificates"。
  4. 它将列出所有过期的证书。
  5. 从 "login" 选项卡中删除 "Apple Worldwide Developer Relations Certificate Authority certificates"
  6. 并从 "System" 选项卡中删除它。

现在你可以开始了。

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

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

Apple Worldwide Developer Relations Intermediate Certificate Expiration

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. 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.

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.

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.

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.

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

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

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

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

"This certificate has an invalid issuer."

然后,

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

这解决了证书问题。

由于旧证书被吊销,现有的配置文件将失效。要解决此问题;

  1. 在会员中心,打开配置文件。
  2. 通过单击 "Edit" 打开配置文件详细信息,从列表中检查证书,然后单击 "Generate" 按钮。
  3. 已下载并安装开发配置文件和分发配置文件。

希望对您有所帮助。

我一直 运行 解决问题,发现我的所有证书都已失效 -- 哦不!

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

查看->显示过期证书

然后

系统->所有项目

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

只需确保在 Keychain Access 应用中搜索 "All Items"。无效的证书是指向尚未删除的过期证书的结果。

以下过程将解决问题,

1:打开KeyChain访问,并从"Login"和"System"部分删除"Apple world wide Developer relations certification authority"(2016年2月14日到期)。如果找不到,请使用 'View' 菜单中的“显示过期证书”。

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

一次查看状态。

别忘了为您的 Apple Developer Account 安装 iOS 证书。

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

我的回答不一样,并附上了信息:

resource fork, Finder information, or similar detritus not allowed

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