Firebase UI手机身份验证在模拟器上不起作用



工作一年多后,Firebase UI手机身份验证停止工作,但似乎仍能在设备上工作。输入用户电话号码的屏幕会出现,但随后会像屏幕上一样崩溃,应用程序完全没有响应。但是,控制台中没有检测到崩溃。控制台以看似随机的顺序重复这三条类似的消息:

更新选择器失败,错误域=NSCocoaErrorDomain代码=4099";与pid 0上名为com.apple.commcenter.coretelephony.xpc的服务的连接已失效"UserInfo={NSDebugDescription=与pid 0上名为com.apple.commcenter.coretelephony.xpc的服务的连接无效。}

同步远程对象代理返回错误:错误域=NSCocoaErrorDomain代码=4099";与pid 0上名为com.apple.commcenter.coretelephony.xpc的服务的连接已失效"UserInfo={NSDebugDescription=与pid 0上名为com.apple.commcenter.coretelephony.xpc的服务的连接无效。}

删除委托后更新选择器失败,错误域=NSCocoaErrorDomain代码=4099";与pid 0上名为com.apple.commcenter.coretelephony.xpc的服务的连接从此进程中无效"UserInfo={NSDebugDescription=与pid 0上名为com.apple.commcenter.coretelephony.xpc的服务的连接从此进程中无效。}

最后,我在控制台上收到了这样的消息:

找不到支持iPhone Portrait NumberPad键盘类型4的键盘;使用25873_Portrait_iPhone-简单Pad_Default

以下是调用Firebase UI:的代码

@objc func presentRegistration() {
guard let authUI = FUIAuth.defaultAuthUI() else { handleSignInError(); return }
let providers: [FUIAuthProvider] = [FUIPhoneAuth(authUI: authUI)]
authUI.delegate = self
authUI.providers = providers
guard let phoneProvider = authUI.providers.first as? FUIPhoneAuth else { handleSignInError(); return }
phoneProvider.signIn(withPresenting: self, phoneNumber: "")
}

具有此委托功能:

func authUI(_ authUI: FUIAuth, didSignInWith authDataResult: AuthDataResult?, error: Error?) {
if let _ = error {
present(message: "There was an error signing in. Please check that there is an active internet connection and that the number entered is correct. Then try again.")
} else {
self.loginUser()
}
}

我尝试更新我的Firebase podfiles,但这并没有解决问题。在谷歌上搜索控制台消息也无济于事。我试着从模拟器中删除应用程序,但没有什么区别。有什么建议吗?

***事实上,我发现它在一些模拟器上有效,而在其他模拟器上无效。似乎它应该对全部或全部都有效。例如,它适用于11,但不适用于11 pro。不适用于SE.

进入模拟器的"设备"部分并单击";擦除所有内容和设置";修复了此问题。不确定是什么问题导致了它,但这解决了它。

最新更新