Фоновый поток для загрузки данных в Firebase - PullRequest
0 голосов
/ 21 мая 2019

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

Приложение будет либо в фоновом режиме, либо завершено, мне все равно нужно будет загрузить информацию на сервер, даже если пользователь закрыл приложение

Этот код, кажется, выполняет поток,Но где это должно быть размещено?Могу ли я положить его в мой applicationDidEnterBackground или applicationWillTerminate?

DispatchQueue.background(background: {
    let checkPointWorker = CheckPointWorker()
        checkPointWorker.writeCheckPointsToFirestore()
}, completion:{
    // Background job finished
})

1 Ответ

1 голос
/ 21 мая 2019

Вы можете поместить свой код в applicationDidEnterBackground / applicationWillTerminate, но нет гарантии, что он будет успешно загружен в firebase, поскольку время, в течение которого приложение работает, после его отправки в фоновый режим или внутри willTerminate полностью зависит от давление в настоящее время открытых приложений в то время, и честность приложение будет закрыто IOS, если оно выполняет обширную задачу, пока оно не на переднем плане

Вы можете пойти с фоновой выборкой

https://medium.com/@vialyx/ios-dev-course-background-modes-fetch-70c18f9f58d5

и используйте его для загрузки вместо загрузки, но эту загрузку лучше выполнять при повторном открытии приложения

...