gpt4 book ai didi

swift - 为什么 Firebase 登录后无法识别当前用户?

转载 作者:行者123 更新时间:2023-11-28 14:55:36 25 4
gpt4 key购买 nike

在使用 Auth.auth().signOut() 在 Firebase 中注销当前用户后,我运行它来注册一个新用户:

    guard let email = emailTextField.text, let password = passwordTextField.text else {
print("Form is not valid")
return
}

Auth.auth().createUser(withEmail: email, password: password, completion: { (FIRUser, error) in
if error != nil {
print(error ?? "error")
}
print("Account creation successful")
})


guard let uid = Auth.auth().currentUser?.uid else {
print("No UID")
return
}

但是,它不识别任何当前用户。但是,如果我在同一个 session 中第二次运行它,它将识别用户。我也尝试使用调度队列设置延迟,但这没有帮助。

最佳答案

当您重新启动应用程序时,Firebase 可能需要一些时间才能验证用户是否仍然通过身份验证。它不会阻止您的应用程序,而是允许应用程序继续运行,然后在完成后触发所谓的“身份验证状态更改”事件。为确保捕获此事件,您需要添加一个完成 block ,如 Get the currently signed-in user 所示。 :

handle = Auth.auth().addStateDidChangeListener { (auth, user) in
// ...
}

关于swift - 为什么 Firebase 登录后无法识别当前用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49419536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com