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
тип.