У меня есть класс с делегатами для URLSession. Я намерен использовать его с фоновой конфигурацией. Я понимаю, что обработчики вызываются, когда происходит определенное событие, например didFinishDownloadingTo
.
Однако у меня есть функция handle
в моем классе ExtensionDelegate:
func handle( _ handleBackgroundTasks:
Set<WKRefreshBackgroundTask>)
// Sent when the system needs to launch the application in the background
to process tasks. Tasks arrive in a set, so loop through and process each one.
for task in handleBackgroundTasks {
switch task {
case let urlSessionTask as WKURLSessionRefreshBackgroundTask:
Интересно: где я должен обрабатывать данные, которые я получаю после загрузки? В didFinishDownloadingTo
или в той функции моего класса ExtensionDelegate, в соответствующем случае оператора switch?
Еще вопрос по тому же циклу: везде читал, что надо помнить setTaskCompleted()
после прохождения фоновых задач. Но я где-то читал, что не следует устанавливать задачу как выполненную, если запланированная передача данных не завершена. Как мне это проверить?