Осложнение watchOS - Как заставить watchOS обновить временную шкалу

Я написал усложнение для Watch Face с Time Travel. Тем не менее, я хотел, чтобы watchOS "обновляла" временную линию (как каждый час), чтобы она удаляла текущую временную линию, а затем снова вызывала getTimelineEntries для получения новой временной линии.

Является ли это возможным? Благодарю.

1 ответ

Насколько возможно, чтобы установить более одного усложнения вашего приложения в разные слоты текущего циферблата, было бы лучше вызвать reloadTimelineForComplication: для всех активных усложнений.

for (CLKComplication* complication in CLKComplicationServer.sharedInstance.activeComplications)
{
    //NSLog(@"Reloading Timeline for Complication: %@", complication);
    [CLKComplicationServer.sharedInstance reloadTimelineForComplication:complication];
}

Из документации: CLKComplicationServer.activeComplications: это свойство содержит массив объектов CLKComplication, каждый из которых представляет версию вашего усложнения, отображаемую в настоящее время на циферблате. Этот массив обычно не имеет записей или имеет только одну запись, но может иметь несколько записей, если ваше усложнение установлено более чем в одном слоте на циферблате.

Всякий раз, когда вы хотите обновить данные об осложнениях, вы можете запустить обновление следующим образом:

[[CLKComplicationServer sharedInstance] reloadTimelineForComplication:[[[CLKComplicationServer sharedInstance] activeComplications] firstObject]];

Для справки вы можете проверить здесь

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