我对 FCM 和 TestFlight 有疑问。我有一个通过 Objective C 编写的应用程序。它通过 Firebase 使用推送通知服务。我使用 APNs key 而不是证书。
问题是当我通过 Xcode 在调试和 Release模式下运行应用程序时,我会收到推送通知。当我使用分发配置文件签署应用程序并将其发送到 TestFlight 并通过 TestFlight 安装在同一设备上时,未收到推送通知。
我们正在为该应用程序使用 php 服务器。推送通知是通过 firebase 从该服务器发送的。我在 AppDelegate 文件中拥有 Firebase SDK 文档中所述的所有设置。因此,所有正确的委托(delegate)均已设置,并调用 firapp 配置,依此类推,如下所示。 https://firebase.google.com/docs/cloud-messaging/ios/first-message此外,我还检查了发送到 TestFlight 时 APS 环境设置为“生产”的权利文件。
我尝试通过 [[FIRMessaging messages] setAPNSToken: type:] 将 didRegisterForRemoteNotificationsWithDeviceToken 中的设备 token 类型设置为沙箱或产品,无论它是架构的 Debug模式还是 Release模式。另外,我现在使用此代码而不是[FIRMessaging messages].APNSToken = deviceToken。但这两个选项在 TestFlight 中都不起作用。
我们的后端开发人员表示,服务器上的推送通知已正确发送。所以我认为这可能与设备 token 有关。
此外,我最近已将 Firebase Pod 从版本 3 更新到版本 6。服务器上的 Firebase lib 是否也应该更新?
您知道问题出在哪里吗?如有任何帮助,我们将不胜感激。
最佳答案
更新。我发现这个问题是在将 firebase ios lib 更新为从 3 版本到 6 版本而不是从 6.18 版本更新到 6.31.1 后开始的。所以我的问题是 Firebase iOS SDK 官方 GitHub 上的问题 #6553 中指出的错误。该错误已在 7.0.0 版本中修复。更新后我的问题就解决了。 https://github.com/firebase/firebase-ios-sdk/issues/6553
关于php - TestFlight 中未收到 iOS FCM 推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64589775/