问题标签 [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 回答
310 浏览

ios - Apple Watch 复杂功能的实时时钟?

我正在尝试制作一个类似于Apple's世界时钟复杂功能的复杂功能。它将显示时间HH:mm,与主时钟同步更新,并随着时间旅行在时间上前后移动。似乎唯一可以像这样更新的文本提供程序是CLKRelativeDateTextProvider,但它旨在显示两者之间的差异NSDates,虽然它对计时器很好,但我不知道如何让它显示一天中的时间。CLKTimeTextProvider有利于格式化时间,但不会随着时间旅行而更新(除非我每分钟都制作新模板)。

有谁知道它是怎么Apple做的?任何帮助将不胜感激。

0 投票
1 回答
1810 浏览

watchos-2 - Apple Watch 复杂功能未在后台更新

我有一个 Apple Watch 复杂功能,可以正确初始化并显示我期望的数据。但是,当我的 getNextRequestedUpdateDateWithHandler 方法中返回的 NSDate 触发刷新时,我的委托中唯一被再次调用的方法是 getNextRequestedUpdateDateWithHandler 方法(我在每个方法上都设置了断点来确定这一点)。我本来希望在请求的更新日期发生时调用 requestedUpdateDidBegin ,但情况似乎并非如此。有谁知道这可能是什么原因造成的?这是我的代码:

0 投票
1 回答
672 浏览

watchos-2 - 使用 HealthKit 查询时,Apple Watch 复杂功能不会在后台刷新

我试图在 Apple Watch 复杂功能中显示用户的每日步数。我通过调用 HKHealthStore 的 requestAuthorizationToShareTypes 方法来设置我的课程,当首次将其添加到表盘时,复杂功能会正确显示步骤。但是,在进行健康包查询时,刷新永远不会成功。我怀疑这与 HealthKit 权限有关,因为 HKSampleQuery 的完成处理程序没有被调用。如果我只是注释掉 health kit 查询,那么我的代码会按预期刷新。有谁知道我可能会错过什么?或者如果复杂的后台刷新不允许访问 HealthKit?

这是有效的代码块:

这是不起作用的代码块。错误情况下的更新甚至不会被调用:

0 投票
1 回答
919 浏览

ios - 如何在后台刷新的并发症上显示 HealthKit 数据?

我正在尝试构建一个显示用户健康数据的 watchOS 2 复杂功能,例如步骤(但理论上它应该能够显示用户授予应用查看权限的任何健康数据)。当并发症首次启动时,我可以查询 Healthkit 并获取我想要的所有数据,因为第一次启动被认为是在前台。但是,当有新的健康数据可用时,我无法在后台检索 HealthKit 数据。我可以从两个地方获取这些数据,手表和 iPhone。

当从getNextRequestedUpdateDateWithHandler中设置的日期触发并发症的后台刷新时,我试图从手表本身获取数据。但是,当我调用 HKHealthStore 的 execute 方法时,如果应用程序(或者在本例中为并发症)正在后台运行,它不会返回任何查询结果。我还尝试设置一个 HKAnchoredObject 查询,该查询应该在进程恢复时立即返回我的结果,但这似乎也不会返回任何结果,除非我在手表上手动启动应用程序扩展。这是我的手表代码,在请求健康包权限后从我的 ExtensionDelegate 的 init 方法调用:

我还尝试使用 HKObserverQuery 从 iPhone 获取数据。我有一个可以每小时唤醒一次 iPhone 的观察者查询(步骤数据的最长时间)。但是,如果在观察者完成处理程序执行我的步骤查询时 iPhone 被锁定,HKHealthStore 的执行方法也拒绝返回任何查询结果。我认为这在这里是有道理的,并且可能没有办法解决这个问题,因为Apple 的文档提到,当设备被锁定并且您无法从商店读取(只能写入)时,Health Store 是加密的。但是在手表的情况下,当它戴在某人的手腕上时,它没有被锁定,屏幕只是关闭了。

有谁知道如何让 HealthKit 更新在后台发生刷新时显示在并发症上,无论是在 iOS 还是在 watchOS 2 上?

0 投票
1 回答
269 浏览

watchkit - Watchkit 并发症点击动作

我编写了一个 Apple Watch 应用程序,它的复杂功能运行良好。但我经常不小心点击了那个并发症,它打开了我的手表应用程序。是否有一些属性可以告诉并发症当我点击它时没有任何动作?

例如,日出/日落复杂功能没有点击动作。

0 投票
1 回答
1384 浏览

ios - Apple Clockkit Complication 不显示占位符数据

我正在使用ios 9.2和xcode 7.2在objective-c中开发一些clockkit复杂性

我在这里观看了一个很棒的视频https://developer.apple.com/videos/play/wwdc2015-209/并找到了一些有用的文章。在此视频以及文章中,都指出,Complications Controller 中的以下代码是静态/占位符并发症所需的全部内容。

有什么改变,还是我在这里遗漏了一些更基本的东西?使用以下代码,我可以看到选择的复杂性,但它是空白/空。

有任何想法吗?我可以继续实施其他代表,但希望首先实现这一步。

0 投票
1 回答
918 浏览

objective-c - Apple Clockkit - 同一个家庭的多种并发症

作为创建并发症的起点,静态数据可以通过实现如下所示的 Complications 委托示例代码以下列方式呈现:

这种结构意味着我只能为每个并发症系列创建一个并发症。这是真的?我在这里还有其他选择吗?

例如,除了下面的一个不同类型的模块之外,我将如何创建另一个模块化的小并发症,即。CLKComplicationTemplateModularSmallStackImage 以便两者都显示在模块化小区域中?

这可能是可以管理的用户偏好吗?

0 投票
3 回答
980 浏览

ios - 使用 transferCurrentComplicationUserInfo 观看连接更新复杂性

我遇到了 WatchConnectivity 和可能的 Clockkit 框架的问题。我正在尝试transferCurrentComplicationUserInfo在 iOS 应用程序中使用将数据发送到手表并更新并发症。在手表上的扩展委托中,我实现了委托方法didReceiveUserInfo,我在其中处理数据,然后调用以更新并发症。

当我在模拟器上运行 iOS 应用程序时,一切正常。但是,如果我在实际设备上运行它,手机的传输开始,复杂功能调用requestedUpdateDidBegin(),但didReceiveUserInfo手表上的扩展内部从未被调用,因此我没有复杂功能的数据。

有什么建议么?还是我应该提交错误报告?

0 投票
1 回答
113 浏览

swift - 通过 ClockKit 并发症显示心率?

我正在开发一个用于跟踪心率的 watchOS 应用程序,它运行良好。

是否可以使用 显示计算出的心率值ClockKit

0 投票
1 回答
496 浏览

xcode - 为什么我不能在 Xcode Playground 中导入 ClockKit 并使用 CLKComplicationDataSource?

我可以毫无问题地导入WatchKitWatchConnectivity使用各种代表,例如。WCSessionDelegate

但是当我尝试 importClockKit或 addCLKComplicationDataSource时,Xcode 会抛出诸如“不存在模块”之类的错误。

为了检查这一点,我创建了一个手表应用程序项目并检查了 ComplicationController.swift。它确实import ClockKit在源代码中。

为什么我们不能在 Xcode Playground 中测试这个 API?这不是违背了拥有游乐场的目的吗?