WatchOS Осложнения глубокая ссылка на страницу в приложении

Я пытаюсь создать приложение, которое поддерживает несколько семейств усложнений на операционной системе Watch OS2, таких как модульное большое, утилитарное большое, круглое маленькое и т. Д., Каждое из которых показывает различную значимую информацию из приложения. Я знаю, что сложности мало похожи на взгляды, которые мы имеем после OS1, с точки зрения взаимодействия с пользователем, т. Е. Он открывает приложение, когда пользователь нажимает на него, и никакого особого взаимодействия там нет.

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

Поэтому мой вопрос: когда пользователь нажимает на услугу моего приложения, получу ли я какую-либо контекстную информацию о том, что это сложность была нажата и т. Д. Я думаю, что я могу получить объект CLKComplication в контексте.

Любая помощь приветствуется.

2 ответа

В ClockKit/CLKDefines.h вы можете найти CLKLaunchedTimelineEntryDateKey постоянная.
Но вы не можете определить свою собственную информацию пользователя, чтобы помочь вам определить, что делать, когда ваше приложение запускается.

Из ссылки на протокол CLKComplicationDataSource:

CLKLaunchedTimelineEntryDateKey

Ключ, указывающий дату, с которой осложнение было начато. Значение этого ключа является NSDate объект. Когда пользователь касается вашего усложнения, ClockKit включает этот ключ в словарь, передаваемый handleUserActivity: метод расширения делегата.

Доступный в watchOS 2.0 и позже.

Так как вы можете получить дату записи на временной шкале через CLKLaunchedTimelineEntryDateKeyВы можете получить тип усложнения (семейство), установив "фиксированную секунду" для записи времени определенного типа.

Фиксированная секунда должна быть рассчитана по NSDateComponents а затем преобразовать в NSDate что вы можете передать CLKComplicationTimelineEntry,

Например, вы можете указать modularSmall дата окончания записи 10 секунд, но modularLarge дата окончания записи 20 секунд. Итак, запись с датой 9:41:10 должна быть modularSmall введите и запись с датой 9:41:20 должна быть modularLarge тип.

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