有没有办法直接从 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】:

CLKComplicationServerClockKit 的一部分,仅适用于 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 应用程序?

有没有办法删除所有 iPhone 应用程序数据?

有没有办法从 iPad 或选定的 iPhone 版本不支持我的应用程序?

有没有办法直接在 iPhone 上渲染像素?

从 iPhone 应用程序更新歌曲/曲目信息

在 iPhone 上更新 SQLite 数据库