в то время как приложение является фоновым, вполне вероятно, что оно правильное, и соединение между приложением и сервером было разорвано.
я есть следующий код:
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 в спящий режим. Мне бы очень хотелось, чтобы онлайн-статус отключался только тогда, когда пользователь выходит из системы или теряет подключение к Интернету. Что не так с моим кодом или настройками?