问题标签 [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.
objective-c - 将 getComplicationDescriptorsWithHandler 用于objective-c Watch App
我正在尝试找出如何使用该方法:
用于 Objective-C 手表应用程序的 getComplicationDescriptorsWithHandler。
不幸的是,Apple 的文档:(https://developer.apple.com/documentation/clockkit/clkcomplicationdatasource/3555131-getcomplicationdescriptorswithha?language=objc)
即使选择了“语言 Objective-C”,也使用 Swift 而不是 Objective-C 给出示例。我也无法从 Objective-C 中的 Internet 搜索中找到任何帮助。任何人都有如何使用此方法以及在 Objective-C 中设置单个并发症描述符的真实示例?
ios - 有效处理多个 Apple Watch 并发症的数据调用的最佳方法?
当 Apple Watch 首次出现并发症时,我们只有一个并发症需要处理。推荐的方法之一是在后台任务中从网络加载数据,保存UserDefaults
最新数据,然后在其中查找最新数据UserDefaults
以getCurrentTimelineEntry
显示在复杂功能中。
这适用于 1 种并发症,但我现在正在处理 3 种可用的并发症。因此,对于用户未启用的复杂功能,不断加载数据是没有效率的。所以我现在想知道将网络调用移动到getCurrentTimelineEntry
是否会更有效,因为如果调用了并发症,只有数据会加载?(我依稀记得苹果公司说这不鼓励)。
或者是否有其他方法可以参考用户正在使用的并发症,然后打开它们并仅调用在保存到 UserDefaults 的后台任务中启用的那些(并查找getCurrentTimelineEntry
以显示并发症)?
swiftui - 在 swiftUI 中使用 onContinueUserActivity 处理启动并发症时的 ActivityType 是什么
我有一个 SwiftUI Apple Watch 应用程序。当用户点击复杂功能时,我想显示适当的视图。我想我可以使用 onContinueUserActivity 修饰符来做到这一点,但我找不到合适的 ActivityType。
我在下面命名它CLKComplicationTapActivityType
,但我需要真正的常数。
xcode - 为 ClockKit Complications 编写测试
Xcode从 Xcode 12.5开始支持XCTest
watchOS 目标的测试用例,但是没有给出示例代码,也没有给出关于该主题的 WWDC 讨论。
该ClockKit
框架本质上是非常严格的,这使得在不编写专门用于测试的抽象的情况下针对您的代码生成规范是不切实际的。
例如,不可能构造带有或指定的任意CLKComplication
实例,因为没有对任一属性的公共写访问权,也没有接受它们的构造函数。传递一个实例(到和其他函数)是系统如何从您的并发症中请求更新。family
identifier
CLKComplication
getCurrentTimelineEntry
解决这个问题的最佳方法是什么?
我可以看到这些路径,但也许我错过了一些东西;
- 更新我
ComplicationController
以接受协议,基于(并实现)的公共 APICLKComplication
,并从我的测试中传递它 - 抽象出函数
ClockKit
将调用 myComplicationController
,因此存在接受各个参数的函数版本,这些参数又由“真实”API调用 - 找到一种
CLKComplication
在测试中覆盖实数属性的方法,特别是