Вновь созданные пользователи не сохраняются в базе данных Firebase - PullRequest
0 голосов
/ 26 сентября 2018

Так что у меня возникли проблемы с моим кодом, который создает новых пользователей и загружает / сохраняет их пользовательскую информацию, такую ​​как Имя, Фамилия и Электронная почта, в базу данных 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!])

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

Я случайно написал

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

    } ...
0 голосов
/ 05 октября 2018

Это должно работать:

@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
})

Надеюсь, что ваша проблема решена и решение работает для ваших целей

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...