【问题标题】:Firebase: Cannot upload production APNs certificateFirebase:无法上传生产 APNs 证书
【发布时间】:2016-10-13 16:34:21
【问题描述】:

我目前正在 TestFlight 中测试应用,需要生产 APNs 证书才能在 Firebase 中测试通知。

我已按照此视频中的所有步骤操作并成功配置了开发 APNs 证书: https://www.youtube.com/watch?v=LBw5tuTvKd4

我还检查了我按照 Firebase 支持指南执行的步骤。虽然我注意到 Apple Developer 网站在编写本指南后略有变化: https://firebase.google.com/docs/cloud-messaging/ios/certs#configure_an_app_id_for_push_notifications

我在 developer.apple.com 使用与开发证书相同的方法生成了生产 APNs 证书,但是当我尝试将 .p12 文件上传到 Firebase 时,它​​给了我以下错误:

“证书环境不匹配。确保您获得了正确的开发或生产 APNS 证书。”

我肯定要上传从生产 APNS 证书生成的 .p12,我还需要为生产证书做些什么吗?

【问题讨论】:

  • 在生产证书中上传 development.p12 文件时出现同样的错误。因此,请检查您的 p12 是否用于生产,然后将其上传到生产中。

标签: ios push-notification firebase apple-push-notifications firebase-cloud-messaging


【解决方案1】:

解决了。我犯的错误是我在 Keychain Access 中导出证书的“私钥”部分而不是“证书”部分。一旦我使用列表中的正确行重新导出 .p12 - 它就起作用了。

图片说明如下信用iOS

正确方法:

【讨论】:

  • 文档特别声明要导出密钥。
  • @BenDubuisson 我什至确信我读到您应该将它们一起导出等等。但这解决了它。非常感谢!
  • 就我而言,我联系了支持人员,他们修复了一些问题,我能够上传它。我再次导出了你应该做的私钥......
  • 这里也一样,像文档说的那样导出密钥给了我同样的错误。但是导出证书并使用它解决了它。所以,或者文档有误,或者发生了一些变化。
  • 你拯救了我的一天!我尝试重新创建 AppId、证书、配置文件……但没有奏效。最后,您的修复帮助了我!
【解决方案2】:

试试这个

制作 .csr 文件并从 developer.apple.com 下载证书

同时导出同时选择私钥和证书,并使用任何 passphase 导出到 .p12。

在 Firebase 控制台上上传 .p12 文件。

谢谢

【讨论】:

  • 这是正确的答案,建议它被纳入接受的答案。谢谢。
  • 至少对于生产证书,这对我不起作用。我不得不排除私钥。
  • 它也发生在我身上。但后来它在沙盒和生产中都对我有用。你可能做了不同的事情。我用相同的步骤同时制作了沙盒和生产的 .p12。
【解决方案3】:

keychain中不要选择private ket,直接选择证书创建生产证书。

1) 不要选择钥匙链中的私人钥匙。

2) 直接选择证书,创建生产证书

【讨论】:

    【解决方案4】:

    我面临同样的问题,我已经尝试了上述所有解决方案,但没有什么比我从钥匙串访问中删除证书并再次下载证书并安装它而不是导出并尝试上传它。它对我有用。

    【讨论】:

    • 您是从钥匙串导出私钥为 p12 还是?
    • 是的,我从钥匙串导出私钥为 .p12
    【解决方案5】:

    当我尝试这里建议的解决方案时,没有任何效果(这可能意味着我做得对)。我通过将 Chrome (应用程序运行了很长时间)替换为 Safari(我为此目的调用应用程序)进行上传解决了这个问题。

    这意味着,如果重新启动 Chrome 也可以工作。

    仅供参考。

    【讨论】:

    • 在努力上传证书后,我最终点击 safari 进行上传,它可以工作。 (请不要修改我的答案,因为修改与我的经验完全不同。)
    【解决方案6】:

    就我而言,我想将生产证书上传到 Firebase,在尝试了一切之后,我终于意识到我已经在 iOS Developer 上创建了开发证书......

    【讨论】:

      【解决方案7】:

      在我之前的 p12 过期后我遇到了这个问题,我试图作为新证书上传并且收到“与当前环境不匹配”错误,但是一旦我用新证书更新了过期的 p12,它就可以正常上传了p12 而不是尝试将新的与过期的一起上传。

      【讨论】:

        【解决方案8】:

        在某些情况下可能存在语义问题,因此请注意含义。
        当您必须在 Firebase 控制台中上传证书时,有 2 个带有占位符文本的框,内容为:
        1.没有开发APNs证书
        2.没有生产APNs证书

        就我而言,我理解我不得在框 1 中上传开发 APNs 证书。实际上,firebase 意味着尚未上传开发 APNs 证书,我可以上传我的证书.

        【讨论】:

          猜你喜欢
          • 2018-06-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-12-28
          • 2013-04-06
          • 1970-01-01
          相关资源
          最近更新 更多