Ios 如何在firebase中更新用户信息?
我有此功能来更改用户电子邮件。我可以更改电子邮件,并且可以在firebase控制台中看到它,但当我返回应用程序查看用户信息时,我只看到显示的旧电子邮件Ios 如何在firebase中更新用户信息?,ios,swift,firebase,firebase-authentication,Ios,Swift,Firebase,Firebase Authentication,我有此功能来更改用户电子邮件。我可以更改电子邮件,并且可以在firebase控制台中看到它,但当我返回应用程序查看用户信息时,我只看到显示的旧电子邮件 @IBAction func saveButton(_ sender: Any) { let currentUser = Auth.auth().currentUser currentUser?.updateEmail(to: emailTextField.text!) { error in if let erro
@IBAction func saveButton(_ sender: Any) {
let currentUser = Auth.auth().currentUser
currentUser?.updateEmail(to: emailTextField.text!) { error in
if let error = error {
print(error)
} else {
self.userDocRef = self.db.collection("users").document(self.auth.currentUser!.uid)
self.userDocRef?.getDocument(completion: {(snapshot, error) in
guard snapshot != nil else { print("Error:", error!); return }
let userData = snapshot!.data()!
self.emailTextField.text = userData["email"]! as? String
})
print("CHANGED")
}
}
}
当您说“我返回应用程序查看用户信息”时,应用程序使用了什么代码?您是否正在使用
currentUser
?@FrankvanPuffelen yes您可以更新代码以在回调中打印Auth.Auth().currentUser?.email
?据我所知,这应该得到更新。如果没有为您更新,请编辑您的问题以显示更新的代码和打印语句的输出。您省略了一个步骤。。。您正在更新此处的用户FIREBASE对象currentUser?.updateEmail
,但随后从FIREBASE读取一个节点,该节点包含一个名为“email”的字段,该字段在此处self.userDocRef?.getDocument
,与此无关。如果您将用户电子邮件同时存储在Firebase用户对象和文档中,则需要同时更新这两个对象。