в то время как приложение является фоновым, вполне вероятно, что оно правильное, и соединение между приложением и сервером было разорвано.

я есть следующий код:

func OnlineStatus(userID: String){
        handle = Auth.auth().addStateDidChangeListener { (auth, user) in
            if let user = user {
                // User is signed in.
                self.UID = user.uid

                self.connectedRef.observe(.value, with: { snapshot in
                    if let connected = snapshot.value as? Bool, connected {
                        // print("############################ Connected")
                        self.ref.child(self.UID!).child("OnlineStatus").setValue("ON")
                    } else {
                        // print("############################ Not connected")
                        self.ref.child(self.UID!).child("OnlineStatus").setValue("OFF")
                    }
                    self.ref.child(self.UID!).child("OnlineStatus").onDisconnectSetValue("OFF")
                })
            }}
            }

Функция будет запущена в viewWillAppear. Идея состоит в том, чтобы построить простую систему присутствия. По какой-то причине onDisconnect срабатывает, когда я отправляю приложение в фоновый режим, а затем отправляю свой iPhone в спящий режим. Мне бы очень хотелось, чтобы онлайн-статус отключался только тогда, когда пользователь выходит из системы или теряет подключение к Интернету. Что не так с моим кодом или настройками?

Ответы на вопрос(1)

Ваш ответ на вопрос