Firebase方法Swizzling不起作用

时间:2017-06-21 15:50:41

标签: ios swift firebase firebase-cloud-messaging swizzling

我正在构建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的值为非零值。这似乎不是默认行为。在此先感谢您的帮助!

0 个答案:

没有答案