Когда мое приложение входит в фоновый режим, applicationDidEnterBackground вызывается правильно (очевидно), однако метод saveData из Firebase не завершается, пока приложение не возвращается на передний план (что означает, что если пользователь закрывает приложение, данные не не сохранено).
var data = User.sharedInstance.dictionary
let firestoreId: String = (data["externalId"]! as! String).firestoreId()
data.removeValue(forKey: "externalId")
// CALLED UP TIL HERE WHEN APP ENTERS BACKGROUND
Firestore.firestore().collection("users").document(firestoreId).setData(data, merge: true) { (err) in
// NOT CALLED UNTIL APP ENTERS FOREGROUND AGAIN
if let err = err {
print(err.localizedDescription)
return
}
}