Има ли начин да актуализирате усложнение директно от приложението за iPhone?

Бих искал да позволя на потребителя да може да заобиколи напълно приложението за часовник, ако е възможно.

Опитах да импортирам ClockKit на моя ViewController, за да създам екземпляр на CLKComplicationServer. Получавам грешка „Няма такъв модул“.

Има ли начин за директна комуникация с усложнението от приложението за iOS?


person bkSwifty    schedule 21.10.2015    source източник


Отговори (1)


CLKComplicationServer е част от ClockKit, която е достъпна само за watchOS2.

Можете да изпращате данни за усложнения от iOS с помощта на [WCSession transferCurrentComplicationUserInfo:]. Не като [WCSession transferUserInfo:] Ще събуди приложението watchOS и ще достави вашето съобщение възможно най-скоро.

То ще събуди вашето приложение за watchOS и ще извика -(void)session:(WCSession *)session didReceiveUserInfo:(NSDictionary<NSString *,id> *)userInfo от делегата на страна за наблюдение WCSession. В този делегат можете да използвате ComplicationServer така:

CLKComplicationServer* server = [CLKComplicationServer sharedInstance];
[server.activeComplications enumerateObjectsUsingBlock:^(CLKComplication * _Nonnull each, NSUInteger idx, BOOL * _Nonnull stop) {
    [server reloadTimelineForComplication: each];
}];

накрая ще извика вашия ComplicationController.

person jeeeyul    schedule 29.10.2015