Cordova 应用程序的 Firebase - 无法获取 APNS 令牌

Posted

技术标签:

【中文标题】Cordova 应用程序的 Firebase - 无法获取 APNS 令牌【英文标题】:Firebase for Cordova app - Failed to fetch APNS token 【发布时间】:2017-05-19 13:26:46 【问题描述】:

我正在尝试使用 this plugin 在 Cordova 应用程序上的 ios 设备上使用 Firebase 推送通知,但我遇到了一个又一个问题。我什至不知道从哪里开始,所以让我在加载应用程序时显示我的控制台日志。

MyApp[754:298085] Starting Firebase plugin
MyApp[754:298085] [CDVTimer][firebaseplugin] 0.200033ms
MyApp[754:298085] [CDVTimer][TotalPluginStartup] 73.943019ms
MyApp[754:298119] [Firebase/Core][I-COR000001] Configuring the default app.
MyApp[754] <Debug> [Firebase/Core][I-COR000001] Configuring the default app.
MyApp[754:298117] <FIRAnalytics/INFO> Firebase Analytics v.3404000 started
MyApp[754:] <FIRAnalytics/INFO> Firebase Analytics v.3404000 started
MyApp[754:298117] <FIRAnalytics/INFO> To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see some link here)
MyApp[754:] <FIRAnalytics/INFO> To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see some link here)
MyApp[754:298085] Firebase Crash Reporting: Successfully enabled
 <FIRInstanceID/WARNING> Failed to fetch APNS token Error Domain=com.firebase.iid Code=1001 "(null)"
 <FIRMessaging/INFO> FIRMessaging library version 1.2.0
MyApp[754:298118] [Firebase/Core][I-COR000018] Already sending logs.
MyApp[754] <Debug> [Firebase/Core][I-COR000018] Already sending logs.
MyApp[754:298118] libMobileGestalt MobileGestaltSupport.m:153: pid 754 (MyApp) does not have sandbox access for frZQaeyWLUvLjeuEK43hmg and IS NOT appropriately entitled
MyApp[754:298118] libMobileGestalt MobileGestalt.c:550: no access to InverseDeviceID (see <rdar://problem/11744455>)
MyApp[754:298124] <FIRAnalytics/WARNING> The AdSupport Framework is not currently linked. Some features will not function properly. Learn more at some link here
MyApp[754:] <FIRAnalytics/WARNING> The AdSupport Framework is not currently linked. Some features will not function properly. Learn more at some link here
MyApp[754:298119] <FIRAnalytics/INFO> Firebase Analytics enabled
MyApp[754:] <FIRAnalytics/INFO> Firebase Analytics enabled
MyApp[754:298085] Resetting plugins due to page load.
MyApp[754:298119] [Firebase/Core][I-COR000019] Clearcut post completed.
MyApp[754] <Debug> [Firebase/Core][I-COR000019] Clearcut post completed.
MyApp[754:298085] Connected to FCM.
MyApp[754:298085] InstanceID token: eD1pW3DsaUA:APA91bGSKxvd6VRf-3O1_AgQcdCL3ZLERsWDShsFy8LE6MlNLTgFl-sYH9EzvPZJn9JH-oRjvhwQrwp-h6YukJ86IQP0Q4iLnOf4GwoPgR5dV1ozLX1Fnc7bpJDMOtukAriLT8NZSAVl
MyApp[754:298132] [Firebase/Core][I-COR000019] Clearcut post completed.
2017-05-19 16:05:39.389 MyApp[754] <Debug> [Firebase/Core][I-COR000019] Clearcut post completed.
MyApp[754:298085] Finished load of: file:///var/containers/Bundle/Application/0A7C5C10-135D-4E34-A2BC-D64528786544/MyApp.app/www/index.html
MyApp[754:298085] THREAD WARNING: ['FirebasePlugin'] took '4102.684082' ms. Plugin should use a background thread.

正如您从所有这些废话中看到的**,我得到的是 FCM 令牌,而不是 APNS。我想我已经上传了所有需要的证书,甚至在 Firebase 设置中为 APNS Auth Key 上传了一个 .p8 证书。

我还尝试使用从调试控制台提供的推送令牌从 Firebase 通知控制台发送测试通知,但是无论是在前台还是在后台,设备都没有收到任何东西。我正在调试 javascript 和本机代码以查看它。

我还能做什么,我什至不知道如何检查我的所有证书是否都正常,或者我是否遗漏了什么,请帮忙。

编辑:我已经打开了功能下的推送通知。

【问题讨论】:

【参考方案1】:

打开项目目标> 功能下的推送通知。 它对我有用。

【讨论】:

推送通知,后台模式(远程通知),必须启用钥匙串共享。然后尝试删除 Config.plist 中的 FirebaseAppDelegateProxyEnabledflag,如下所述:https://developers.google.com/cloud-messaging/ios/ios-migrate-fcm 我启用了所有这些,并在后台模式下选择了推送通知,也尝试了使用和不使用 FirebaseAppDelegateProxyEnabled,仍然没有。我什至正在从 Firebase 控制台进行测试,向单个设备或应用发送推送【参考方案2】:

我仍然不知道问题出在哪里,但我尝试了另一个插件cordova-plugin-fcm,在确保应用程序有权接收推送并且项目中的其他所有配置都正确之后,我开始了接收推送。

【讨论】:

以上是关于Cordova 应用程序的 Firebase - 无法获取 APNS 令牌的主要内容,如果未能解决你的问题,请参考以下文章

用于 Phonegap/Cordova 应用程序的 Firebase 分析

无法安装“cordova-plugin-firebase”:错误:哦哦

Cordova 应用程序的 Firebase - 无法获取 APNS 令牌

当我尝试通过cordova创建android应用程序时,如何解决此错误消息“无法安装'cordova-plugin-firebase'”?

Cordova ios - 尚未配置默认 Firebase 应用

Cordova 中的后台 Firebase 推送通知