Я хотел бы условно перезагрузить мое активное усложнение в функции requestedUpdateDidBegin
или на самом деле сообщить ClockKit
, чтобы установить следующую проверку за 15 минут до конца текущей записи временной шкалы, но как я могу это сделать, не зная, что находится в текущем осложнении?Получить запись временной шкалы и шаблон, используемый для активного усложнения?
Вот что я пытаюсь сделать:
if let complications = CLKComplicationServer.sharedInstance().activeComplications {
for item in complications {
// Get timeline entry and template used?
}
}
Для текущей сложности, я могу только семью, но ни одна другая информация, как временной шкалы даты или шаблон не используется. Есть ли способ получить это?
Я пытаюсь обновить кольцо для текущего осложнения. Поэтому на самом деле я хотел бы получить текущую запись временной шкалы и обновить ее за 15 минут до ее истечения. В противном случае кольцо становится устаревшим довольно быстро и может обновлять его только каждые 30 минут. Было бы неплохо, если бы я мог заполнить фракцию заполнения, например, относительной датой. Мое усложнение почти похоже на таймер, отображаемый в виде кольца. – TruMan1
К сожалению, нет поддержки относительной доли заполнения. [Feature request it.] (Https://bugreport.apple.com/) Но если вы только предоставляете 'getCurrentTimelineEntryForComplication', вы можете (используйте минимальный 10-минутный запланированный интервал обновления, чтобы сохранить его несколько свежим, или) запланировать обновление, как объяснено в ответе, путем смещения даты текущей записи. –
Спасибо за объяснения и подход, текущая функция временной шкалы будет работать, как вы упомянули. Тем временем я заполнил запрос функции. – TruMan1