我正在构建iOS应用并使用Firebase Cloud Messaging进行远程通知。我没有做任何事情来禁用调配(没有触及FirebaseAppDelegateProxyEnabled
标志),虽然调配似乎没有启用。
以下功能是我一直用来解决破坏的混合问题,手动设置apnsToken
:
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
print("APNs token retrieved: \(deviceToken)")
// Messaging.messaging().apnsToken = deviceToken
// Auth.auth().setAPNSToken(deviceToken, type: AuthAPNSTokenType.sandbox)
}
当手动设置apnsToken
的那两行被注释掉时,下面的函数
@IBAction func fetchFCMToken(_ sender: UIButton) {
let token = Messaging.messaging().fcmToken
print("FCM token: \(token ?? "")")
print("apnsToken: \(Messaging.messaging().apnsToken)")
}
输出:
***** (the actual FCM token)
nil
如果行设置apnsToken
没有注释掉,Messaging.messaging().apnsToken
的值为非零值。这似乎不是默认行为。在此先感谢您的帮助!