Когда WKExtension.scheduleBackgroundRefresh должен вызывать обработчик scheduleCompletion?

Я пытаюсь запланировать фоновое задание с такой строкой:

WKExtension.shared().scheduleBackgroundRefresh(withPreferredDate: Date(timeIntervalSinceNow: TimeInterval(5) * 60), userInfo: nil, scheduledCompletion: self.scheduledCompletion)

где

func scheduledCompletion(error: Error?) {
        if error == nil { print("successfully scheduled application background refresh") }
        else { print("error scheduling background refresh, error: \(error)") }
}

Согласно документации:

scheduledCompletion Блок, который вызывается системой после выполнения задачи обновления фонового приложения.

Но по неизвестной причине он вызывается сразу после запланированного фонового обновления. Фоновая задача обновления вызывается в правильное время, хотя и scheduledCompletion не вызывается после этого.

Так это ошибка в документации, ошибка в WatchKit или я что-то не так делаю?

1 ответ

Решение

Несмотря на описание документации, scheduledCompletion будет, когда задача будет запланирована. Это было упомянуто во время сессии WWDC16 " Обновление приложения" в 11:23:

введите описание изображения здесь

Другие вопросы по тегам