iOS无法收到来自FCM的Cordova项目(2018)的推送通知

时间:2018-10-10 11:53:43

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

我一直困扰着这个问题(再次!)。 FCM推送通知可以在Android以及我当前的实时/收费版本应用程序上正常运行(仍然可以正常运行)。但是最近我升级到了 Cordova 7.1.0 平台iOS 4.4.0 ,并为我的下一次应用更新重新添加了所有插件。

除iOS上的此FCM之外,其他所有功能都正常!不适用于所有版本和所有iOS设备。我之前遇到过此问题,但这是一个简单的修复(在FCM插件上缺少GoogleService-Info.plist文件)。但是目前这个问题又出现了,我真的不知道如何解决它。经历了很多问题,尝试了很多事情。

我已经完成的步骤:

  1. 删除并重新添加FCM插件以及平台iOS
  2. 在以下位置检查并确保GoogleService-Info.plist文件的文件不为空:Cordova-plugin-fcm> src> ios;平台> iOS> [myproject]>资源;平台> ios> [myproject]>资源>资源
  3. 测试从Firebase控制台发送推送通知。它说完成并发送!但无法在iOS上接收(在Android上接收)
  4. 在Xcode功能中打开和关闭并再次打开:推送通知以及后台模式>远程通知和钥匙串共享
  5. 检查[myproject] .entitlements>具有价值Development的APS在其中
  6. 在info.plist上添加FirebaseAppDelegateProxyEnabled值NO
  7. 通过以下方式检查我的APNS密钥和证书的有效性:openssl s_client -connect gateway.push.apple.com:2195 -cert pushtry.pem -key pushtry.pem并最后返回验证码0(OK)
  8. 尝试在http://pushtry.com上测试APNS,但结果说 Arvind APNS连接失败:0 。当我尝试从同一网站发送FCM推送时,它已成功发送(在Android上而不是在iOS上接收),有人知道如何正确运行它,结果应该是什么?
  9. 检查所有供应配置文件和证书,并确保它们尚未过期。我确实有Apple Push Service,用于开发和生产。
  10. 仔细检查套件ID和APP ID以与Firebase控制台设置匹配。

我从Xcode 10运行了该应用程序,并使用了多个iOS 11至12的iPhone。所有人都无法收到推送通知。但是,当我从Play商店下载我的应用时,它仍会收到推送通知。 FCM插件版本为 cordova-plugin-fcm 2.1.2

请帮助!除了上面提到的所有这些,我应该怎么做并检查?我需要尽快更新该应用。但是更新后我很害怕,所有具有最新更新的应用程序的实时版本都不会收到推送通知,这对于我们的应用程序而言至关重要!

我怀疑配置文件与代码签名身份不匹配,但是我已经超过1年没有更改它们(仅在证书过期后更新并重新创建证书)。我认为这不是FCM的问题,因为它发出了推送通知,在android上没有问题。但是话又说回来,我的应用程序的最新更新是两个月前。在那之后,我很少使用iPhone(尤其是推送通知),因为我没有iPhone。始终使用Android手机进行开发。所以也许我错过了什么?请咨询和解决方案?

我开发中的应用程序的所有版本(我的本地MAC)现在无法正常工作。即使我尝试构建和运行较旧版本的应用程序。没有收到推送通知。所以也许是我的cordova或iOS问题。

1 个答案:

答案 0 :(得分:4)

我遇到了同样的问题,并通过更改XCode构建系统解决了该问题:

XCODE文件>项目设置>(使用旧版生成系统,而不是新生成系统。)

还从info.plist中删除FirebaseAppDelegateProxyEnabled