Итак, после ооочень большого количества тестов и онлайн-исследований, я должен сдаться и попросить о помощи. Осложнения WatchOS 2.
Поэтому я пытаюсь создать базовое усложнение, которое показывает время во время обновления.
Я знаю, что обновление в фоновом режиме заложено в бюджет, поэтому я пытаюсь обновлять время каждые 10 минут. Надеюсь, что, поскольку сбор NSDate прост, это не заставит меня выйти за рамки бюджета, что бы это ни значило.
На данный момент я игнорирую путешествия во времени и предоставляю временную шкалу. Вместо этого я просто заполняю шаблон большого модуля текущим временем:
func getCurrentTimelineEntryForComplication(complication: CLKComplication, withHandler handler: (CLKComplicationTimelineEntry?) -> Void) {
У меня тогда это:
func getNextRequestedUpdateDateWithHandler(handler: (NSDate?) -> Void){
handler(NSDate(timeIntervalSinceNow: 60*10));
}
И это:
func requestedUpdateDidBegin(){
NSLog("requestedUpdateDidBegin")
let complicationServer = CLKComplicationServer.sharedInstance()
for complication in complicationServer.activeComplications {
complicationServer.reloadTimelineForComplication(complication)
}
}
Однако обновление никогда не происходит. Только запустив расширение и выполнив тот же код, что и 4 строки выше, я могу получить усложнение для обновления. Судя по журналам, все, что происходит после принудительного обновления, это то, что вызывается метод getNextRequestedUpdateDateWithHandler, но больше ничего.
Любые предложения или что-то, что мне явно не хватает? Большое спасибо за чтение.