我有一个iOS应用程序,使用QuickBlox可以成功使用APNS提供推送通知已经有很多年了。由于多种原因(Android支持和QuickBlox有时会脱机),我正将其迁移到Firebase Cloud Messaging。我已经做到了这一点,但除非删除并重新安装该应用程序,否则不会收到通知。使用FCM运行应用程序而不删除以前的版本(因此,它已安装在使用QuickBlox for APNS的版本上)没有调用-application:didRegisterForRemoteNotificationsWithDeviceToken并且未收到通知(尽管-messaging:didReceiveRegistrationToken确实给了我deviceToken) 。奇怪的是,在模拟器中运行它会调用-application:didFailToRegisterForRemoteNotificationsWithError(因为APNS无法在模拟器上运行)。
我看到其他一些人遇到了这个问题here,但不相信。
我的代码与FCM文档和示例代码完全相同。在新安装的计算机上效果很好。
我有3个问题:
这似乎合理吗?更改APNS提供商是否需要在安装之前删除该应用?
对于以标准方式升级应用程序的用户群,该如何处理?我是否需要在Appstore上创建新应用程序并强迫现有用户下载该应用程序?
这是否与应用程序ID绑定-我可以更改应用程序ID但可以在应用程序商店中保留相同的应用程序吗?