Итак, после стольких испытаний и онлайн-исследований, я должен отказаться и попросить о помощи. WatchOS 2.WatchOS 2 Complication Scheduled Update In Background
Так что я пытаюсь создать базовое усложнение, показывающее время на момент обновления.
Я знаю, что обновление в фоновом режиме предусмотрено в бюджете, поэтому я пытаюсь обновить время каждые 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 вызывается, но ничего другого.
Любые предложения или что-то, что я, очевидно, отсутствует? Большое спасибо за чтение.
У меня точно такая же проблема. Я попытался использовать NSTimer в качестве альтернативы, но это приводит только к ошибке чтения памяти. – gallileo