iOS: Firebase телефонная аутентификация - PullRequest
0 голосов
/ 10 сентября 2018

Я разрабатываю приложение для iOS, которое использует проверку подлинности телефона firebase, я следую документации Google, но у меня всегда появляется следующая ошибка:

If app delegate swizzling is disabled, remote notifications received by UIApplicationDelegate need to be forwarded to FIRAuth's canHandleNotificaton: method.

и My appDelegate:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool
    {

        FirebaseApp.configure()
        return true
    }

    func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
        Auth.auth().setAPNSToken(deviceToken, type: AuthAPNSTokenType.sandbox)
    }


    func application(_ application: UIApplication , didReceiveRemoteNotification notification: [AnyHashable : Any],
                     fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void)
    {
        if Auth.auth().canHandleNotification(notification)
        {
            completionHandler(UIBackgroundFetchResult.noData);
            return
        }
    }

Итаккак я могу решить это?

1 Ответ

0 голосов
/ 11 сентября 2018

Если Swizzling отключен, вам нужно сделать две вещи для аутентификации номера телефона:

Установить APNSToken на экземпляре FIRAuth с вашим токеном APN.Это не зависит от настройки токена APN для FCM (использование SDK клиента FCM не требуется для использования аутентификации номера телефона).Вызовите canHandleNotification в экземпляре FIRAuth с удаленным уведомлением, полученным из приложения : didReceiveRemoteNotification: fetchCompletionHandler : метод в вашем экземпляре UIApplicationDelegate.Это также не зависит от уведомления FCM.

Это задокументировано в https://firebase.google.com/docs/auth/ios/phone-auth в разделе «Получение уведомлений без перебора».

...