当前位置: 首页 > 知识库问答 >
问题:

Firebase UI Phone身份验证无法在模拟器上工作

雍志文
2023-03-14

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

更新选择器失败,错误为:Error domain=nscocoaerrordomain code=4099“到pid 0上名为com.apple.comcenter.coretlephony.xpc的服务的连接无效。”UserInfo={NSDebugDescription=与pid 0上名为com.apple.comcenter.coretlephony.xpc的服务的连接已无效。}

同步远程对象代理返回错误:Error domain=nscocoaerrordomain code=4099“到pid 0上名为com.apple.comcenter.coretlephony.xpc的服务的连接无效。”UserInfo={NSDebugDescription=与pid 0上名为com.apple.comcenter.coretlephony.xpc的服务的连接已无效。}

删除委托后更新选择器失败,原因为:Error domain=nscocoaerrordomain code=4099“与pid 0上名为com.apple.comcenter.coretlephony.xpc的服务的连接从此进程无效。”UserInfo={NSDebugDescription=与pid 0上名为com.apple.comcenter.coretlephony.xpc的服务的连接从此进程无效。}

最后,我在控制台中得到这样的消息:

找不到键盘iPhone-Altraite-NumberPad支持type 4的keyplane;使用25873_PROTACHIT_IPHONE-SIMPLE-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播客文件,但这没有解决问题。谷歌控制台消息没有帮助。我试着从模拟器中删除这个应用程序,但没有什么区别。有什么建议要怎么做吗?

***我实际上发现它在一些模拟器上工作,而在其他模拟器上不工作。看来它应该对全部或全部有效。例如,它适用于11而不适用于11 Pro。对SE不起作用。

共有1个答案

劳英华
2023-03-14

看来转到模拟器的设备部分并点击“擦除所有内容和设置”可以解决这个问题。不确定是什么问题导致了它,但这修复了它。

 类似资料:
  • 我试图建立一个简单的iOS /Rails应用程序,在那里我可以创建一个用户,然后使用BCrypt对他们进行身份验证。我试图按照BCrypt的说明进行操作,但我的身份验证过程不起作用。非常新的轨道,所以我肯定我搞砸了一些简单的事情! 要创建新用户,请执行以下操作: 在users_controller.rb 在user.rb 在服务器上: 在2014-08-21 19:32:05-0500开始POST

  • 问题内容: 我试图弄清楚如何对我的控制器的URL进行适当安全的单元测试。以防万一有人更改周围的内容并意外删除安全设置。 我的控制器方法如下所示: 我像这样设置一个WebTestEnvironment: 在我的实际测试中,我尝试执行以下操作: JUnit如何测试@PreAuthorize批注及其由spring MVC控制器指定的spring EL? 但是,如果仔细观察,这仅在不向URL发送实际请求时

  • 我们的应用程序中有两个部分: 服务器-提供REST服务 客户端-通过Spring restTemplate使用它们 除了HTTP状态之外,我们的服务器还返回一个包含JSON的HTTP正文,详细描述了错误。所以,我在restTemplate中添加了自定义错误处理程序,以将一些编码为非错误的错误处理——这有助于很好地解析HTTP正文。 但在HTTP/1.1 401未经授权的情况下,我通过解析HTTP主

  • 它总是导致带有错误消息的catch块 登录失败:未知的用户名或错误的密码。失败:未知的用户名或错误的密码。 我确信给定的密码是正确的。 如何使用给定的密码验证用户名?

  • 问题内容: 以下是我从GoLang获得的MongoDB连接拨号。但是它返回一个紧急消息“ SASL身份验证步骤服务器返回错误:身份验证失败。 ”。我的用户名,密码,hostAddrs和dbName是正确的。我在这里想念什么? 问题答案: 我遇到类似的错误并添加了参数,并且在我们连接到远程MongoDB时可以正常工作 在您的代码中使用以下类似格式: