嘿,所以我有一个功能Firebase / iOS应用程序,正在尝试实现电话身份验证。
调用此方法
PhoneAuthProvider.provider().verifyPhoneNumber(phoneNumber, uiDelegate: nil) { (verificationID, error) in
if let error = error {
self.showMessagePrompt(error.localizedDescription)
return
}
// Sign in using the verificationID and the code sent to the user
// ...
}
并传递有效数字。
我收到此错误->
不是我不知道UIApplicationDelegate必须处理远程通知,电话号码验证才能正常工作。
Error Domain = FIRAuthErrorDomain代码= 17054“如果禁用了应用程序委托模糊处理,则需要将UIApplicationDelegate收到的远程通知转发到FIRAuth的canHandleNotificaton:方法。 UserInfo = {NSLocalizedDescription =如果禁用了应用程序委托混乱,则需要将UIApplicationDelegate收到的远程通知转发到FIRAuth的canHandleNotificaton:方法。,error_name = ERROR_NOTIFICATION_NOT_FORWARDED}
打喷嚏。委托没有太多进展,但是本演练https://firebase.google.com/docs/auth/ios/phone-auth没有提及。
我没有收到假设的静默通知,也没有收到短信。
谢谢。
答案 0 :(得分:0)
请在您的AppDelegate
中添加以下代码:
func application(_ application: UIApplication,
didReceiveRemoteNotification notification: [AnyHashable : Any],
fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
if Auth.auth().canHandleNotification(notification) {
completionHandler(.noData)
return
}
// This notification is not auth related, developer should handle it.
handleNotification(notification)
}