如果可能的话,我想让用户完全绕过手表应用程序。
我尝试在ViewController上导入ClockKit来创建CLKComplicationServer
的实例。我得到“没有这样的模块”错误。
有没有办法直接与iOS应用程序的复杂功能进行通信?
答案 0 :(得分:6)
CLKComplicationServer
是ClockKit
的一部分,只有watchOS2可用。
您可以使用[WCSession transferCurrentComplicationUserInfo:]
从iOS发送复杂数据。不像[WCSession transferUserInfo:]
它会唤醒watchOS App,并尽快传递您的信息。
它会唤醒您的watchOS应用,并致电Watch侧-(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
。