上传 APNS 证书 Firebase 的问题

Posted

技术标签:

【中文标题】上传 APNS 证书 Firebase 的问题【英文标题】:Problems to upload APN certifcates Firebase 【发布时间】:2017-05-23 16:26:39 【问题描述】:

我正在尝试将我的 ios 应用配置为使用 Firebase 接收通知。

如果我在没有密码的情况下导出证书和私钥并尝试在 Firebase 控制台上上传(生产或开发),我会收到错误“密码错误”。

如果我使用密码导出证书和私钥,我会收到错误“发生未知服务器错误”或“读取您的证书时出错”。

我不明白为什么会这样。我确实正确地遵循了教程。有人可以帮我吗?

【问题讨论】:

您要导出的密钥是什么文件格式? 嗨,克里斯,格式是 .p12 以下内容对您有帮助吗? 是的,克里斯!非常感谢。 太棒了,很高兴听到 Breno! 【参考方案1】:

您应该使用 APNS 身份验证密钥而不是证书。这是 iOS 中提供商向 APNS 注册和发送消息的新首选方法

来自 Firebase:

建议使用身份验证密钥进行配置,因为它们更多 当前向 iOS 发送通知的方法

From Apple:

提供商要与 APN 通信,它必须使用有效的 身份验证密钥证书(用于基于令牌的连接信任)或 SSL 证书(用于基于证书的连接信任)。您获得 来自您的在线开发者帐户的这些证书中的任何一个,如 在 Xcode 帮助中的“配置推送通知”中进行了说明。选择 在两种证书类型之间,请阅读 Provider-to-APNs Connection 相信。无论您选择哪种证书类型,提供商连接 信任是提供者发送推送通知请求的先决条件 到 APN。

【讨论】:

我明白了。我会试试。非常感谢!【参考方案2】:

导出时只需选择 Apple Push Service 部分,不要从 Keychain Access 中选择私钥并导出,而不是在 firebase Production APNs 证书中浏览您刚刚创建的 p12 文件,它会起作用。

我不知道这个实现何时会被弃用,但它现在可以工作(2018 年 2 月 19 日)。

【讨论】:

【参考方案3】:

您应该只导出证书而不选择私钥。请看这个截图

【讨论】:

以上是关于上传 APNS 证书 Firebase 的问题的主要内容,如果未能解决你的问题,请参考以下文章

Firebase 消息:由于所需的 APNs SSL 证书已过期或未上传,无法向 iOS 设备发送消息

iOS APNS 证书即将过期(服务器端的 Firebase)

将 APNS 证书添加到 Google Firebase

缺少 APNs 证书。在设置中上传证书

通知中心 Apple APNS 证书上传失败

iOS 应用程序可以同时使用基于证书和基于令牌的 APNs 连接吗?