Firebase выходит из системы определенных пользователей необоснованно - PullRequest
0 голосов
/ 12 июня 2019

Я работаю над новым приложением и уже несколько раз использовал Firebase в качестве бэкэнда.Мой код (ниже) должен выполнять переход, когда ни один пользователь не вошел в систему, ничего не делать, когда вошел «работник», и выполнить другой переход, когда вошел «работодатель». Это работает нормально, но возникает одна проблема,Когда «работник» вошел в систему и приложение перезапустилось, они остаются в системе. С другой стороны, когда «работодатель» регистрируется в правильном переходе, но когда приложение перезапускается (я делаю эточтобы я мог видеть консоль после закрытия приложения), они выходят из системы и nil возвращается как текущий пользователь.Это указывает на ранее зарегистрированного работодателя.Любая помощь?Мой код:

override func viewDidLoad() {
    super.viewDidLoad()

    var ref: DatabaseReference!
    ref = Database.database().reference()

    let uid  = Auth.auth().currentUser?.uid
    let locationReference = ref.child("locations")

    print("CURRENT USER:")
    print(uid)
    print(Auth.auth().currentUser)

    if Auth.auth().currentUser == nil {
        print("SEGUE RAN")
        self.performSegue(withIdentifier: "notSignedIn", sender: nil)
    }

    else if Auth.auth().currentUser != nil {
        print("UNO")
        Database.database().reference().child("users").child(uid!).observeSingleEvent(of: .value, with: { (snapshot) in
            if let dictionary = snapshot.value as? [String: AnyObject] {
                print("DOS")
                let isWorker1 = dictionary["Worker"] as? Bool
                print("IS WORKER:")
                print(isWorker1)
                if isWorker1 == true {
                }
                else if isWorker1 == false {
                    print("TRES")
                    self.performSegue(withIdentifier: "notWorker", sender: nil)
                }
            }
        })
    }
}
...