如何在 Swift 4 中更新 Firebase 身份验证中的电子邮件地址

How to update Email Address in Firebase Authentication in Swift 4

我只想更新当前用户的验证电子邮件地址。我已经尝试了很多解决方案,例如 firebase 的 updateEmail 方法,但它不起作用!如果有人知道,请告诉我如何实现这一点提前致谢!!

@IBAction func btnResetEmailClick(_ sender: UIButton) {
        let auth = Auth.auth()
        guard let email = self.txtEmailAddress.text ?? auth.currentUser?.email else { return }
        // email that i have to update with current user email
        auth.currentUser?.updateEmail(to: (auth.currentUser?.email)!, completion: { (error) in
            if error == nil{

            }else{
            }
        })
    }

要更改用户最近必须登录的电子邮件地址,我建议这样做:

var credential: AuthCredential

@IBAction func changeEmail() {
    if let user = Auth.auth().currentUser {
        // re authenticate the user
        user.reauthenticate(with: credential) { error in
            if let error = error {
                // An error happened.
            } else {
                // User re-authenticated.
                user.updateEmail(to: "email") { (error) in
                    // email updated
                }
            }
        }
    }
}

这是解决问题的有效方法。

let user = Auth.auth().currentUser
user?.updateEmail(to: "email") { error in
if error != nil {
    // An error happened
} else {
   // Email updated.
   }
}