有没有办法直接从 iPhone 应用程序更新复杂功能?
Posted
技术标签:
【中文标题】有没有办法直接从 iPhone 应用程序更新复杂功能?【英文标题】:Is there a way to update a complication directly from the iPhone app? 【发布时间】:2015-10-21 18:18:04 【问题描述】:如果可能,我希望允许用户完全绕过手表应用。
我尝试在我的 ViewController 上导入 ClockKit 以创建 CLKComplicationServer
的实例。我收到“没有这样的模块”错误。
有没有办法直接与 ios 应用中的复杂功能进行交流?
【问题讨论】:
【参考方案1】:CLKComplicationServer
是 ClockKit
的一部分,仅适用于 watchOS2。
您可以使用[WCSession transferCurrentComplicationUserInfo:]
从 iOS 发送复杂数据。不像[WCSession transferUserInfo:]
它会唤醒watchOS App,并尽快传递您的消息。
它将唤醒您的 watchOS 应用程序,并调用 Watch 端 WCSession
的代表的 -(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
。
【讨论】:
以上是关于有没有办法直接从 iPhone 应用程序更新复杂功能?的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法将代码从 Iphone 应用程序运行到另一个 Iphone 应用程序?