问题标签 [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.
watchkit - reloadTimeline() 不会更新并发症
我正在尝试制作一个 watchOS 3 应用程序,并且我想在后台任务中更新我的并发症。
首先,我在后台任务中从服务器获取新数据handle()
。之后,我通过调用来更新我的活跃并发症complicationServer.reloadTimeline(for:)
。
在控制台中,我确实看到了消息“UPDATE COMPLICATION”,因此代码被执行。
然而重新加载后,并发症仍然显示旧数据。如果我切换表盘并切换回来,那么复杂功能有时会重新加载。我是否必须做其他事情才能从后台任务重新加载并发症?
ios - 什么时候调用 getPlaceholderTemplateForComplication() 方法?
我正在尝试为 WatchOS 应用程序构建一个简单的复杂模板,但我一直试图了解何时调用ComplicationController
该类的方法。getPlaceholderTemplateForComplication()
苹果的文件说
当您的应用首次启动时,ClockKit 会调用此方法,
但如果我运行模拟器,它通常不会触发。
关闭并重新打开“在 Apple Watch 上显示应用程序”无济于事。
什么时候getPlaceholderTemplateForComplication()
调用方法?
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 时,我得到以下输出:
swift - 如何对 CLKComplicationServerActiveComplicationsDidChangeNotification 做出反应
关于有用的问题Force reload watchOS 2 Complications用户@alexeyvmp在评论CLKComplicationServerActiveComplicationsDidChangeNotification
中提到您应该为事件添加观察者。
什么是创建这个观察者的好地方,它会是什么样子?我是从我的 ComplicationDataSource 还是在我的 InterfaceController 中创建它?我如何确保它不会一遍又一遍地重新创建?
我试图阅读如何在其中创建观察者,Swift
但我很难弄清楚将它放在哪里。我目前有
任何帮助表示赞赏。
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 关于这个功能有什么变化吗?
watchos - 如何在 watchOS 3 复杂功能上斜体化文本?
如果您查看 watchOS 3 上的日历复杂功能,日期下方的第二行文本是斜体的。我已经搜索了高低的文档,但找不到任何东西。
我正在使用所有三个提供程序,CLKComplicationTemplateModularLargeStandardBody
但所有三行文本都使用非斜体文本格式化。
使第三个提供者斜体有什么技巧吗?
healthkit - ClockKit - Health Kit 数据更改时重新加载时间线
我正在编写一个依赖于 Health Kit 数据的并发症。
我希望能够在商店更改时重新加载时间线,但不知道要挂钩什么来做到这一点。
ios - 无法在 WatchOS 3 中更新 Apple Watch 复杂功能
我无法让 Apple Watch 复杂功能在 WatchOS 3 中更新/刷新。我在ComplicationController.swift
文件中使用了以下代码。
我还尝试从处理后台任务方法中安排更新,ExtensionDelegate.swift
但它似乎也不起作用。
watchkit - 并发症占位符未显示
我刚刚为我的 watchOS 应用程序添加了一个复杂功能。我可以在模拟器的表盘上选择它,但它显示空白项目。临时所有方法的CLKComplicationDataSource
return nil
。我已经为复杂创建了一个新的资产组,添加了此处指定的所有必需的.png图像,在 Xcode 目标中设置了复杂组属性,但没有任何显示!
我应该怎么做才能为我的并发症启用静态占位符图像?
ios - Apple Watch 复杂功能图标或文本
我制作了一个具有复杂功能的 Apple Watch 应用程序并激活了 Modular Small。我将以下代码添加到 ComplicationController.swift 但我只得到一个方形图标。试图在其中放置文本或图像不会做任何事情。