我将Firebase Messaging SDK集成到我的iOS项目中,为开发创建了推送通知证书,为生产创建了一个推送通知证书,将两个p12密钥上传到Firebase,但我没有收到通知,只是用于开发。
注册代码很好,和我常用的APNS一样,工作正常。
3个应用程序会发生同样的行为。
其他人遇到过这个问题吗?你有任何解决方案或建议吗?
答案 0 :(得分:31)
我有同样的问题。显然,Firebase文档中存在错误。 当您将生产的APN证书从钥匙串导出到.p12文件时,您必须选择实际的证书,不私钥。
确保您在Cloud Messaging APN证书设置中将此.p12文件上传到Firebase控制台。
Swift 4.0
另外请确保您正在使用:
Messaging.messaging().setAPNSToken(deviceToken as Data, type: .prod)
内部:
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
#if DEVELOPMENT
//Develop
Messaging.messaging().setAPNSToken(deviceToken as Data, type: .sandbox)
#else
//Production
Messaging.messaging().setAPNSToken(deviceToken as Data, type: .prod)
#endif
}
答案 1 :(得分:7)
首先检查您要导出的证书。典型的错误是导出私钥而不是服务。我附上了截图。我希望这能为你节省一些时间。
答案 2 :(得分:2)
对我来说,这些步骤解决了生产中的同样问题:
答案 3 :(得分:0)
我按照以下步骤开始工作:
似乎第4步有所不同。