У меня сложность с яблочными часами и приложение для iPhone, работающее рядом.У меня есть кнопка в приложении для передачи словаря контекста приложения на часы.Я ожидаю, что заголовок усложнения будет обновлен.
Кажется, я не могу заставить поведение типа «нажать кнопку -> увидеть обновление на сложность».
Что такоеподходящий метод для принудительного обновления усложнения? Как я могу мгновенно обновить услугу «Яблочные часы»?
Я вижу изменения в названии, но я думаю, что мне нужно нажать на усложнение, чтобы открыть его часы Apple.приложение первым.Как я могу получить услугу, чтобы обновить себя на домашнем экране Watch?
func getCurrentTimelineEntry(for complication: CLKComplication, withHandler handler: @escaping (CLKComplicationTimelineEntry?) -> Void) {
if complication.family == .graphicRectangular {
let template = CLKComplicationTemplateGraphicRectangularLargeImage()
//...configure
return template
}
}
Я вижу этот код, предоставленный яблоком, который обновляет усложнение.Я не уверен, что это слишком много или достаточно вызова extendTimeline
, если я генерирую сложность, используя приведенную выше запись.
func refreshComplication() {
#if os(watchOS)
let server = CLKComplicationServer.sharedInstance()
if let complications = server.activeComplications {
for complication in complications {
// Call this method sparingly. If your existing complication data is still valid,
// consider calling the extendTimeline(for:) method instead.
server.reloadTimeline(for: complication)
}
}
#endif
}