Код в вопросе, вероятно, не тот, который вы хотите использовать, так как он будет перезаписывать всю вашу Firebase при каждом запуске.
Причина в том, что вы не записываете данные в дочерний узел вашей Firbase, вы записываете их в основной узел. Вот что пишется:
your_firebase //<- this is where you're writing too each time
email: "some email"
name: "some name"
Полагаю, вы хотите структурировать это так
your_firebase
user_id
email: "some email"
name: "some name"
и код для этого будет
var ref: DatabaseReference!
func viewDidLoad() {
self.ref = Database.database().reference()
.
.
.
}
func createUser() {
let email = "some email"
let password = "some password"
let name = "some name"
Auth.auth().createUser(withEmail: email, password: password) { (authResult, error) in
if let x = error { //some fancy error checking
let err = x as NSError
switch err.code {
case AuthErrorCode.emailAlreadyInUse.rawValue:
print("email in use!")
default:
print("unknown error")
}
} else {
guard let user = authResult?.user else { return }
let uid = user.uid
let usersRef = self.ref.child("users")
let thisUserRef = usersRef.child(uid)
thisUserRef.child("email").setValue(email)
thisUserRef.child("name").setValue(name)
}
}
}
В этом коде предполагается, что правила Firebase позволяют пользователю разрешать запись узла пользователя