有没有办法直接从 iPhone 应用更新复杂功能?

Is there a way to update a complication directly from the iPhone app?

如果可能的话,我想让用户能够完全绕过手表应用程序。

我尝试在 ViewController 上导入 ClockKit 来创建 CLKComplicationServer 的实例。我收到 "No such module" 错误。

有没有办法直接与 iOS 应用程序的复杂功能通信?

CLKComplicationServerClockKit 的一部分,仅 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