【问题标题】:Xcode 7 error: "Missing iOS Distribution signing identity for ..."Xcode 7 错误:“缺少...的 iOS 分发签名身份”
【发布时间】:2015-12-25 14:07:52
【问题描述】:

我尝试将我的应用程序分别上传到 iTunes Connect。 AppStore 出现以下错误:

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

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

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

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

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

【问题讨论】:

  • 您还需要具有分发配置文件和证书及其密钥才能生成 IPA(即使使用开发配置文件)
  • 使用新的 Xcode 7 开发人员帐户导入导出,配置文件和证书也被导出。就我而言,我需要另外转移“Apple World Wide Developer Relations Certificate Authority”证书(请参阅下面的答案)
  • @Awsed 您可以在Apple Documentation 中找到证书和配置文件的详细流程。这会很有帮助。

标签: ios xcode app-store-connect code-signing testflight


【解决方案1】:

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

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

这解决了我的问题。

【讨论】:

【解决方案2】:

From Apple -

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

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

对于所有尽管有说明仍无法正常工作的人......那里 是两个过期的 WWDR 证书。一个在登录钥匙串中,另一个在 一是在系统中。您必须同时删除它们才能使 工作正常

【讨论】:

  • 我认为这是最好的答案,因为它包含有关删除过期证书的说明。整个问题都是克雷克雷。
  • 每两年发生一次;许多应用程序停止在 Mac 上运行,直到用户重新启动他们的 Mac。他们当然会责怪你。至少新证书要到 2023 年才会过期。
  • 谢谢我的朋友!如果它不起作用:您确定添加了新的吗?我不得不重新启动我的 Mac 并再次下载它,因为我的 Mac 不想添加它。 (我知道是因为没有要求我输入密码...)
  • 对于所有尽管有说明但仍无法正常工作的人...有 两个 已过期的 WWDR 证书。一个在登录钥匙串中,另一个在系统中。您必须删除两个才能使事情正常进行。
  • 确保当您转到“钥匙串访问”时,您转到钥匙串 > 系统并从那里删除旧证书。在我这样做之前,我的签名身份都被撤销了。
【解决方案3】:

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

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

现在你准备好了。

【讨论】:

  • "6. 并将其从“系统”选项卡中删除。"步骤解决了我的问题。这是正确答案!!!
  • 我也是!我修复了从“系统”选项卡中删除它。”步骤
  • 我正在执行这些步骤,包括将其从系统中删除,但是每次我打开扩展生成器(Safari 开发人员)时,旧的过期证书都会重新出现。有什么想法吗?
  • 上述问题已通过以下页面上的“如果您的证书在 Safari Extension Builder 中不可用,请将您的签名系统更新为 OS X El Capitan v10.11.4 beta”步骤解决:@987654322 @
  • 对于那些想知道在哪里可以找到证书的人:Apple Certificated
【解决方案4】:

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

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

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

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

Apple 全球开发者关系认证中级 证书即将到期,我们已签发更新的证书 签署所有新的 Apple Wallet Pass 时必须包含在内,推送 Safari Push Notifications 和 Safari Extensions 的包开始 2016 年 2 月 14 日。

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

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

【讨论】:

    【解决方案5】:

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

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

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

    【讨论】:

      【解决方案6】:

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

      "This certificate has an invalid issuer."
      

      那么,

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

      此修复了证书问题。

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

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

      我希望这会有所帮助。

      【讨论】:

        【解决方案7】:

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

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

        查看->显示过期证书

        然后

        系统->所有项目

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

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

        【讨论】:

        • 显示过期证书然后从系统中删除为我解决了这个问题。
        【解决方案8】:

        下面的过程将解决问题,

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

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

        一旦检查状态。

        【讨论】:

        • 谢谢!此“如果找不到,请使用“查看”菜单中的“显示过期证书”。帮了我很多!
        • 为什么这个截图里有剪趾甲?
        【解决方案9】:

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

        【讨论】:

          【解决方案10】:

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

          【讨论】:

            【解决方案11】:

            我的回答有所不同,并伴随着消息而来:

            resource fork, Finder information, or similar detritus not allowed
            

            解决方案是使用生成的图形:

            Code Sign Error in macOS Sierra Xcode 8 : resource fork, Finder information, or similar detritus not allowed

            【讨论】:

            • 帮助了我,谢谢!有同样的问题,确实与生成的图形和相同的错误消息有关。
            猜你喜欢
            • 2016-05-25
            • 1970-01-01
            • 2016-05-25
            • 2016-08-02
            • 1970-01-01
            • 2015-05-24
            • 2014-09-27
            • 1970-01-01
            • 2016-04-13
            相关资源
            最近更新 更多