При регистрации в Firebase я храню дополнительные данные в базе данных в реальном времени. Проблема в том, что как-то перестает работать AuthListener. Это означает, что пользователи должны перезапустить приложение.
Это мой код
session.signUp(email: email, password: password) { (authData, error) in
session.createUser()
}
.createUser добавляет объект в мою базу данных в реальном времени. Эта часть работает хорошо.
Эта часть ниже создает проблемы
func listen() {
_ = Auth.auth().addStateDidChangeListener { (auth, user) in
if let user = user {
self.ref = Database.database().reference(withPath: "\(String(describing: Auth.auth().currentUser?.uid ?? "Error"))")
self.ref.child("user").observe(DataEventType.value) { (snapshot) in
self.user = MyModel(snapshot: snapshot)
}
Похоже, self.user не обновляется, и мой пользовательский интерфейс зависит от этой переменной.
Большое спасибо!