iOS 13: платформа BackgroundTasks не выполняет фоновое задание - PullRequest
0 голосов
/ 16 марта 2020

Мне нужно выполнить определенную задачу, когда состояние приложения фон / прекращено . Задача должна получить данные из таблицы CoreData и сформировать JSON, а затем синхронизировать c на сервер, используя REST API Call, используя URLSession.shared.

Я точно следовал документации Apple и нескольких блоги для настройки фонового задания с точки зрения конфигурации Coding & Xcode.

Я установил time-interval to 1 минуту после того, как приложение переходит в фоновый режим для BGAppRefreshTask.

request.earliestBeginDate = Date(timeIntervalSinceNow: 60)

Зная, что * Система 1032 * имеет много параметров для выполнения фоновой выборки. Я ждал 24 часа, пока приложение запустит фоновое задание, но не выполнил задание даже один раз.

Пожалуйста, поделитесь, если кто-то испытал то же самое и выдвинул конкретное решение или обоснование.

Ссылочные ссылки, по которым я следовал.

https://www.andyibanez.com/posts/modern-background-tasks-ios13/

https://medium.com/snowdog-labs/managing-background-tasks-with-new-task-scheduler-in-ios-13-aaabdac0d95b

1 Ответ

0 голосов
/ 16 марта 2020

URLSession.shared явно задокументировано как

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

Создать сеанс, подходящий для вместо фоновой обработки:

let config = URLSessionConfiguration.background(withIdentifier: "foo")
let session = URLSession(configuration: config)
...