Когда 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: