有没有办法直接从 iPhone 应用更新复杂功能?
Is there a way to update a complication directly from the iPhone app?
如果可能的话,我想让用户能够完全绕过手表应用程序。
我尝试在 ViewController 上导入 ClockKit 来创建 CLKComplicationServer
的实例。我收到 "No such module" 错误。
有没有办法直接与 iOS 应用程序的复杂功能通信?
CLKComplicationServer
是 ClockKit
的一部分,仅 watchOS2 可用。
您可以使用 [WCSession transferCurrentComplicationUserInfo:]
从 iOS 发送并发症数据。不像 [WCSession transferUserInfo:]
它会唤醒 watchOS 应用程序,并尽快传递您的消息。
它会唤醒你的watchOS App,并调用Watch端WCSession
的delegate-(void)session:(WCSession *)session didReceiveUserInfo:(NSDictionary<NSString *,id> *)userInfo
。在此委托中,您可以像这样使用 ComplicationServer
:
CLKComplicationServer* server = [CLKComplicationServer sharedInstance];
[server.activeComplications enumerateObjectsUsingBlock:^(CLKComplication * _Nonnull each, NSUInteger idx, BOOL * _Nonnull stop) {
[server reloadTimelineForComplication: each];
}];
最后它会调用你的ComplicationController
。
如果可能的话,我想让用户能够完全绕过手表应用程序。
我尝试在 ViewController 上导入 ClockKit 来创建 CLKComplicationServer
的实例。我收到 "No such module" 错误。
有没有办法直接与 iOS 应用程序的复杂功能通信?
CLKComplicationServer
是 ClockKit
的一部分,仅 watchOS2 可用。
您可以使用 [WCSession transferCurrentComplicationUserInfo:]
从 iOS 发送并发症数据。不像 [WCSession transferUserInfo:]
它会唤醒 watchOS 应用程序,并尽快传递您的消息。
它会唤醒你的watchOS App,并调用Watch端WCSession
的delegate-(void)session:(WCSession *)session didReceiveUserInfo:(NSDictionary<NSString *,id> *)userInfo
。在此委托中,您可以像这样使用 ComplicationServer
:
CLKComplicationServer* server = [CLKComplicationServer sharedInstance];
[server.activeComplications enumerateObjectsUsingBlock:^(CLKComplication * _Nonnull each, NSUInteger idx, BOOL * _Nonnull stop) {
[server reloadTimelineForComplication: each];
}];
最后它会调用你的ComplicationController
。