问题标签 [clockkit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1986 浏览

watchkit - reloadTimeline() 不会更新并发症

我正在尝试制作一个 watchOS 3 应用程序,并且我想在后台任务中更新我的并发症。

首先,我在后台任务中从服务器获取新数据handle()。之后,我通过调用来更新我的活跃并发症complicationServer.reloadTimeline(for:)

在控制台中,我确实看到了消息“UPDATE COMPLICATION”,因此代码被执行。

然而重新加载后,并发症仍然显示旧数据。如果我切换表盘并切换回来,那么复杂功能有时会重新加载。我是否必须做其他事情才能从后台任务重新加载并发症?

0 投票
1 回答
465 浏览

ios - 什么时候调用 getPlaceholderTemplateForComplication() 方法?

我正在尝试为 WatchOS 应用程序构建一个简单的复杂模板,但我一直试图了解何时调用ComplicationController该类的方法。getPlaceholderTemplateForComplication()

苹果的文件说

当您的应用首次启动时,ClockKit 会调用此方法,

但如果我运行模拟器,它通常不会触发。

关闭并重新打开“在 Apple Watch 上显示应用程序”无济于事。

什么时候getPlaceholderTemplateForComplication()调用方法?

0 投票
2 回答
488 浏览

watchkit - 对于 Watch Complication 和 Time Travel,getTimelineEntriesForComplication 经常被(太)调用

从下面的数据来看,ClockKit 生成了CLKComplicationTimelineEntry一次未来的项目,但是对于过去的时间点,进行了 24 次调用!为什么是这样?

更多细节:

我注意到我的 Apple Watch 并发症中有一种奇怪的行为。

它支持时间旅行——我提供过去 1 天、未来 4 天的数据。我目前正努力成为一个好公民,减少重新生成并发症数据的调用。

为了了解某些调用的频率,我print在两者中都放了一个简单的getTimelineEntries(for:before:limit:withHandler:)getTimelineEntries(for:after:limit:withHandler:)输出before/after参数。

当我在模拟器中启动 App/Complication 时,我得到以下输出:

0 投票
1 回答
181 浏览

swift - 如何对 CLKComplicationServerActiveComplicationsDidChangeNotification 做出反应

关于有用的问题Force reload watchOS 2 Complications用户@alexeyvmp在评论CLKComplicationServerActiveComplicationsDidChangeNotification中提到您应该为事件添加观察者。

什么是创建这个观察者的好地方,它会是什么样子?我是从我的 ComplicationDataSource 还是在我的 InterfaceController 中创建它?我如何确保它不会一遍又一遍地重新创建?

我试图阅读如何在其中创建观察者,Swift但我很难弄清楚将它放在哪里。我目前有

任何帮助表示赞赏。

0 投票
2 回答
474 浏览

swift - watchOS 3 getSupportedTimeTravelDirections

我正在尝试用 watchOS 3 的并发症更新我的 watchOS 2 应用程序。不幸的是,我不明白我在 ComplicationController 方面做错了什么。我总是收到以下错误(使用 Xcode 8 b6):

类型“ComplicationController”不符合协议“CLKComplicationDataSource”候选人具有不匹配类型“(CLKComplication,(CLKComplicationTimeTravelDirections)-> Void)->()”

代码:

我也试过:

这两种方法在 watchOS 3 上都给我一个错误,但在 watchOS 2 / Swift 2 上工作得很好。有人知道 Swift 3 关于这个功能有什么变化吗?

0 投票
1 回答
54 浏览

watchos - 如何在 watchOS 3 复杂功能上斜体化文本?

如果您查看 watchOS 3 上的日历复杂功能,日期下方的第二行文本是斜体的。我已经搜索了高低的文档,但找不到任何东西。

我正在使用所有三个提供程序,CLKComplicationTemplateModularLargeStandardBody但所有三行文本都使用非斜体文本格式化。

使第三个提供者斜体有什么技巧吗?

0 投票
1 回答
102 浏览

healthkit - ClockKit - Health Kit 数据更改时重新加载时间线

我正在编写一个依赖于 Health Kit 数据的并发症。

我希望能够在商店更改时重新加载时间线,但不知道要挂钩什么来做到这一点。

0 投票
1 回答
2457 浏览

ios - 无法在 WatchOS 3 中更新 Apple Watch 复杂功能

我无法让 Apple Watch 复杂功能在 WatchOS 3 中更新/刷新。我在ComplicationController.swift文件中使用了以下代码。

我还尝试从处理后台任务方法中安排更新,ExtensionDelegate.swift但它似乎也不起作用。

0 投票
1 回答
1139 浏览

watchkit - 并发症占位符未显示

我刚刚为我的 watchOS 应用程序添加了一个复杂功能。我可以在模拟器的表盘上选择它,但它显示空白项目。临时所有方法的CLKComplicationDataSourcereturn nil。我已经为复杂创建了一个新的资产组,添加了此处指定的所有必需的.png图像,在 Xcode 目标中设置了复杂组属性,但没有任何显示!

我应该怎么做才能为我的并发症启用静态占位符图像?

Xcode 中的配置: 在此处输入图像描述

0 投票
1 回答
644 浏览

ios - Apple Watch 复杂功能图标或文本


我制作了一个具有复杂功能的 Apple Watch 应用程序并激活了 Modular Small。我将以下代码添加到 ComplicationController.swift 但我只得到一个方形图标。试图在其中放置文本或图像不会做任何事情。