因此,我在创建新用户并将其用户信息(例如名字,姓氏和电子邮件)上载/存储到Firebase数据库的代码遇到麻烦。每当我创建一个用户并进入我的Firebase数据库时,就不会出现新用户。
Auth.auth().createUser(withEmail: usernameTextField.text!, password: passwordTextField.text!) { (user, error) in
if error != nil {
print(error!.localizedDescription)
return
}
let ref = Database.database().reference()
let usersReference = ref.child("users")
let uid = user?.user.uid
let newUserReference = usersReference.child(uid!)
newUserReference.setValue(["username": self.usernameTextField.text!,"firstname": self.firstnameTextField.text!, "lastname": self.lastnameTextField.text!,"email": self.emailTextField.text!])
答案 0 :(得分:0)
这应该有效:
@objc func handleSignUp() {
let ref = Database.database().reference
Auth.auth().createUser(withEmail:usernameTextField.text!, password: passwordTextField.text!) { (user, error) in
if error != nil {
print(error as Any)
return
}
guard let uid = user?.user.uid else {
return
}
// successfully authenticated user
let values = ["name": "some name", "email": "some email", "username": "your username", "userId": user?.user.uid]
let userReference = ref.child("user").child(uid)
let changeRequest = Auth.auth().currentUser?.createProfileChangeRequest()
changeRequest?.displayName = self.usernameField.text
changeRequest?.commitChanges(completion: nil)
userReference.updateChildValues(values, withCompletionBlock: { (err, ref) in
if err != nil {
print(err as Any)
return
}
// add your code here to upload user information to FirebaseDatabase
})
希望您的问题得到解决,并且解决方案可以满足您的目的
答案 1 :(得分:0)
我不小心写了
Auth.auth().createUser(withEmail: usernameTextField.text!, password: passwordTextField.text!
代替:
Auth.auth().createUser(withEmail: emailTextField.text!, password: passwordTextField.text!) { (user, error) in
if error != nil {
print(error!.localizedDescription)
return
} ...