【发布时间】:2016-09-08 20:22:22
【问题描述】:
我正在尝试更新用户的电子邮件和全名。这是我的代码:
func saveTapped() {
var performSegue = false
if updateEmail.text == "" && updateFullName.text == "" {
self.cleanUrCodeRohan("Please fill in one or more of the missing text fields that you would like to update.")
}
if updateEmail.text != "" {
let user = FIRAuth.auth()?.currentUser
user?.updateEmail(updateEmail.text!) { error in
self.ref.child("users").child(self.currentUser).child("email").setValue(self.updateEmail.text!)
}
let emailUpdateRef = FIRDatabase.database().reference().child(currentUser).child("email")
print(emailUpdateRef)
emailUpdateRef.setValue(self.updateEmail.text)
performSegue = true
}
if updateFullName.text != "" {
let user = FIRAuth.auth()?.currentUser
if let user = user {
let changeRequest = user.profileChangeRequest()
changeRequest.displayName = self.updateFullName.text!
}
performSegue = true
}
if performSegue == true {
self.navigationController!.popViewControllerAnimated(true)
}
}
我可以在授权下更新电子邮件,但不能在数据库下更新。任何帮助将不胜感激。
【问题讨论】:
-
你说的“授权下但不在数据库下”是什么意思?你有用户的数据库规则:{用户:{电子邮件:“somethid@gmail.com”}}?
-
Inside user?.updateEmail(updateEmail.text!) { self.ref.child("users").child(self.currentUser).child("email").setValue(self .updateEmail.text!) } 你可能想检查 if (error != nil) { print("something wrong occurred!!"}
-
不,我的意思是在数据库下没有授权
-
我已经得到授权部分了
-
我已经回答了你的问题:)快乐编码
标签: swift firebase firebase-authentication user-profile