Подключение аутентификации Firebase с базой данных Firebase - PullRequest
0 голосов
/ 04 февраля 2019

У меня проблемы с подключением Аутентификации Firebase к базе данных Firebase в моем приложении для iOS.

Пользователи успешно прошли аутентификацию и отображаются в разделе Аутентификация в Firebase, но данные (например, имена / адреса электронной почты) не отображаются.в базе данных Firebase, где он должен храниться.Я вставил код и предупреждения области отладки ниже.

Код:

 @objc func handleRegister() {

    guard let email = emailTextField.text, let password = passwordTextField.text, let name = nameTextField.text
        else {
            print("form is not valid")
            return
    }

    Auth.auth().createUser(withEmail: email, password: password, completion: { (res, err) in

        if let err = err {
            print(err)
            return
        }


        self.ref = Database.database().reference()
        let userId = Auth.auth().currentUser?.uid
        self.ref.child("users").child(userId!).setValue(["username": name, "email": email]) {
            (error:Error?, ref:DatabaseReference) in
            if let error = error {
                print("Data could not be saved: \(error).")
            } else {
                print("Data saved successfully!")
            }
        }

    })
}

Предупреждения области отладки:

2019-02-0619: 29: 06.735883 + 0100 MyAwesomeProject [72154: 5241459] libMobileGestalt MobileGestalt.c: 890: MGIsDeviceOneOfType не поддерживается на этой платформе.

2019-02-06 19: 29: 06.874146 + 0100 MyAwesomeProject5241580] 5.16.0 - [Firebase / Core] [I-COR000022] Аналитика Firebase недоступна.Чтобы добавить его, включите Firebase / Core в Podfile или добавьте FirebaseAnalytics.framework в фазу компоновки

2019-02-06 19: 29: 08.015632 + 0100 MyAwesomeProject [72154: 5241459] [framework] CUIThemeStore:Нет зарегистрированных тем с идентификатором = 0

2019-02-06 19: 29: 09.123610 + 0100 MyAwesomeProject [72154: 5241459] [MC] Контейнер системной группы для systemgroup.com.apple.configurationprofiles путь - / Users /mikolajsemeniuk / Библиотека / Разработчик / CoreSimulator / Устройства / 20AB5C8F-2A8E-4F49-8DA6-0BB11A11958F / data / Контейнеры / Общие / SystemGroup / systemgroup.com.apple.configurationprofiles

2019-02-06 19:29:09.125330 + 0100 MyAwesomeProject [72154: 5241459] [MC] Чтение из личных действующих пользовательских настроек.

2019-02-06 19: 29: 19.325723 + 0100 MyAwesomeProject [72154: 5241579] [Автозаполнение] Не удается отобразить автоматическое усилениеПароли для идентификатора пакета приложения: -234567.MyAwesomeProject из-за ошибки: брелок iCloud отключен 2019-02-06 19: 29: 23.627072 + 0100 MyAwesomeProject [72154: 5242009] [BoringSSL] nw_protocol_boringssl_get_output_frames (1301) [C1.1: 2] [0x7fa94a80b030] не удалось получить выходные кадры, состояние 8196

2019-02-06 19: 29: 23.627344 + 0100 MyAwesomeProject [72154: 5242009] [BoringSSL__set_f___t___t__t__t_R__B__B___t_R__B_0_f_________1301) [C1.1: 2] [0x7fa94a80b030] получить выходные кадры не удалось, состояние 8196

2019-02-06 19: 29: 23.628087 + 0100 MyAwesomeProject [72154: 5242009] Статус чтения TIC [1: 0x0]: 1: 57

2019-02-06 19: 29: 23.628233 + 0100 MyAwesomeProject [72154: 5242009] Статус чтения TIC [1: 0x0]: 1: 57

2019-02-06 19: 29: 23.950084 + 0100 MyAwesomeProject [72154: 5241765] [BoringSSL] nw_protocol_boringssl_get_output_frames (1301) [C2.1: 2] [0x7fa948614e70] получить выходные кадры не удалось, состояние 8196

2019 20119: 29: 23.950399 + 0100 MyAwesomeProject [72154: 5241765] [BoringSSL] nw_protocol_boringssl_get_output_frames (1301) [C2.1: 2] [0x7fa948614e70] получить выходные кадры не удалось, состояние 8196

201-02 20129: 23.951137 + 0100 MyAwesomeProject [72154: 5241765] Статус чтения TIC [2: 0x0]: 1: 57

2019-02-06 19: 29: 23.951409 + 0100 MyAwesomeProject [72154: 5241765] Статус чтения TIC [2: 0x0]: 1:57 (lldb)

1 Ответ

0 голосов
/ 04 февраля 2019

Во-первых, ваш файл списка свойств plist решает, какой проект Firebase использовать, поэтому нет необходимости указывать это:

let ref = Database.database().reference(fromURL:"https://myawesomeproject29133.firebaseio.com/")

Вместо этого вы создаете глобальную переменную с именем ref над viewDidLoad() функция:

var ref: DatabaseReference!
override func viewDidLoad() {
        super.viewDidLoad()

}

В вашем handleUser():

ref = Database.database().reference()
let userid =  Auth.auth().currentUser.uid
self.ref.child("users").child(userid).setValue(["name": name,"email": email])

Кроме того, я настоятельно рекомендую вам продолжить без сохранения чьего-либо пароля, если только вы не зашифруете его.Вы не должны хранить их голыми.Он хранится на серверах Google, и у вас нет абсолютно никаких причин просматривать чужой пароль.

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