информация пользователя не загружается после входа в систему с использованием новой базы данных IOS - PullRequest
0 голосов
/ 02 мая 2018

Я новичок в программировании и все еще учусь на быстром языке.

Надеюсь, вы поможете мне с этим вопросом.

когда я пытаюсь зарегистрироваться, информация о пользователе отображается в базе данных, но когда я пытаюсь войти, информация о пользователе исчезает, почему это так? не могу понять это.

Вот как я зарегистрируюсь

@objc func handleSignUp() {

    guard let username = usernameField.text else { return }

    guard let email = emailField.text else { return }

    guard let pass = passwordField.text else { return }

    guard let image = profileImageView.image else { return }

    setContinueButton(enabled: false)
    continueButton.setTitle("", for: .normal)
    activityView.startAnimating()
    Auth.auth().createUser(withEmail: email, password: pass) { user, error in

        if error == nil && user != nil {
            print("User created!")


            // 1. Upload the profile image to Firebase Storage

            self.uploadProfileImage(image) { url in
                if url != nil {
                    let changeRequest = Auth.auth().currentUser?.createProfileChangeRequest()
                    changeRequest?.displayName = username
                    changeRequest?.photoURL = url
                    changeRequest?.commitChanges { error in

                        if error == nil {
                            print("User display name changed!")

                            self.saveProfile(username: username, profileImageURL: url!) { success in
                                if success {
                                    self.dismiss(animated: true, completion: nil)
                                } else {
                                    self.resetForm()
                                }
                            }
                        } else {
                            print("Error: \(error!.localizedDescription)")
                            self.resetForm()
                        }
                    }
                } else {
                    self.resetForm()
                }
            }
        } else {
            self.resetForm()
        }
    }
}

А вот как я вхожу в систему

@objc func handleSignIn() {


    guard let email = emailField.text else { return }
    guard let pass = passwordField.text else { return }


    setContinueButton(enabled: false)
    continueButton.setTitle("", for: .normal)
    activityView.startAnimating()

    Auth.auth().signIn(withEmail: email, password: pass) { user, error in

        if error == nil && user != nil {

            self.dismiss(animated: false, completion: nil)

            _ = Auth.auth().currentUser

        } else {
            print("Error logging in: \(error!.localizedDescription)")

            self.resetForm()
        }
    }

Я не знаю, в чем проблема

1 Ответ

0 голосов
/ 02 мая 2018

Я не знаком с firebase, но согласно их документации это "да путь":

Auth.auth().signIn(withEmail: email, password: password) { (user, error) in
    if let error = error {
        print("ERROR [ signIn ] => \(error)")
        // self.resetForm()
    } else {
        if let user = user {
            let uid = user.uid
            let email = user.email
            print("Authorised User => \(uid) ... \(email)")
        }
    }
}

Если после попытки вышеприведенного кода вы видите этот вывод ERROR [ signIn ] => whatever error...", то это ваш вход в систему, которая не удалась. Если вы видите этот вывод Authorised User => SomeUID ... SomeEMAIL, то вы успешно вошли в систему, и данные вашего пользователя все еще находятся в базе данных.

Я надеюсь, что это поможет вам найти "да путь"

Если ничего не помогает:

Вы можете сменить браузер и снова проверить базу данных? Попробуйте пару браузеров. Это сработало для некоторых людей

Удачи!

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