Ios 更新Firebase值时出错
如果我登录或注册,一切都会顺利进行。一旦用户将其电子邮件值更改为firebase,然后注销,“我的登录”功能将不再工作。我不确定到底是什么原因导致了这种情况,但它一定是我的updateEmailAction函数中的某个东西 //在更新电子邮件之前工作正常。在电子邮件更新和持续SVP进程旋转后不再工作Ios 更新Firebase值时出错,ios,swift,firebase,Ios,Swift,Firebase,如果我登录或注册,一切都会顺利进行。一旦用户将其电子邮件值更改为firebase,然后注销,“我的登录”功能将不再工作。我不确定到底是什么原因导致了这种情况,但它一定是我的updateEmailAction函数中的某个东西 //在更新电子邮件之前工作正常。在电子邮件更新和持续SVP进程旋转后不再工作 @IBAction func signInButton(_ sender: Any) { self.view.endEditing(true) let email = emailT
@IBAction func signInButton(_ sender: Any) {
self.view.endEditing(true)
let email = emailText.text!.lowercased()
let finalEmail = email.trimmingCharacters(in: .whitespacesAndNewlines)
let password = passwordText.text!
if finalEmail.characters.count < 8 || finalEmail.isEmpty || password.isEmpty {
let alertController = UIAlertController(title: "OOPS", message: "You must fill in all the fields", preferredStyle: .alert)
alertController.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: nil))
present(alertController, animated: true, completion: nil)
}else {
SVProgressHUD.show()
Auth.auth().signIn(withEmail: email, password: password) { (user, error) in
if error == nil {
if let user = user {
print("\(user.displayName!) has been signed in")
SVProgressHUD.dismiss()
self.enter()
self.performSegue(withIdentifier: "signInHome", sender: nil)
}else{
print(error?.localizedDescription as Any)
}
}
}
}
}
更新电子邮件函数中有很多代码,那么使用Firebase updateEmail函数来简化它怎么样
var finalEmail = ""
//capture a new email from the user
Auth.auth().currentUser?.updateEmail(to: finalEmail) { (error) in
// ...
}
请注意,要设置用户的电子邮件地址,用户必须最近登录。如果没有,错误将被忽略
FirautherRorCode太旧了
您需要重新验证该用户
let thisUser = Auth.auth().currentUser
var cred: AuthCredential
thisUser?.reauthenticate(with: cred) { error in
if let error = error {
// Handle the error
} else {
// User has re-authenticated
}
}
注销代码在哪里?你注销时看到了什么?
let thisUser = Auth.auth().currentUser
var cred: AuthCredential
thisUser?.reauthenticate(with: cred) { error in
if let error = error {
// Handle the error
} else {
// User has re-authenticated
}
}