gpt4 book ai didi

ios - 如何在 Swift 的 FirebaseAuth 中捕获 ERROR_EMAIL_ALREADY_IN_USE?

转载 作者:搜寻专家 更新时间:2023-11-01 07:12:03 26 4
gpt4 key购买 nike

我正在尝试使用以下代码对新用户进行身份验证并将他们的电子邮件和密码存储到 FirebaseAuth 中:

Auth.auth().createUser(withEmail: email, password: password) { (user, error) in
if user == nil || error != nil {
let alert = UIAlertController(title: "Please Try Again",
message: "Invalid email or password",
preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "OK", style: .default) {_ in })
self.present(alert, animated: true)
}
else {
self.performSegue(withIdentifier: "nextpage", sender: self)
}
}

但是,我遇到了一个问题,即当用户输入一个已在使用的电子邮件时,FirebaseAuth 不会返回错误;相反,它只是覆盖当前的电子邮件。我在文档中读到一个名为 ERROR_EMAIL_ALREADY_IN_USE 的错误可以作为 FirebaseAuthUserCollisionException 的一部分抛出,如何捕获?谢谢!

最佳答案

将此代码放在回调处理程序中:

if let error = error {
switch FIRAuthErrorCode(rawValue: error!._code) {
case .emailAlreadyInUse:
print("Email already in use")
default:
print("Other error")
}
}

现在你可以删除 if user == nil ||错误 != nil 如果 block 。

另见 https://firebase.google.com/docs/reference/ios/firebaseauth/api/reference/Enums/FIRAuthErrorCode获取错误代码列表。

关于ios - 如何在 Swift 的 FirebaseAuth 中捕获 ERROR_EMAIL_ALREADY_IN_USE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44340473/

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