我的并发症可能需要每5分钟更新一次。每天最多可以轻松汇总120次更新。有没有一种方法只能在用户唤醒手表时进行更新?
答案 0 :(得分:2)
我相信您在否中回答您的问题,目前还没有办法仅在用户唤醒手表时更新并发症。
原因:
并发症的概念是用户抬起手表并激活显示后即会看到它。
根本没有时间激活或启动应用程序,也没有下载实时值以显示为复杂情况的时间。
因此,数据必须出现在用户出现并发症之前。
在很多情况下,如果数据更改的频率不是很高,就可以确保:
在watchOS上,可以按一定的时间间隔安排后台任务,这些后台任务从服务器下载实际数据。在您的情况下,您希望定期(在您的情况下大约每5分钟)安排一个WKApplicationRefreshBackgroundTask
以下载实际值,但是由于功耗原因,任务数量受到限制:
后台应用程序刷新任务已预算。一般来说,系统 每小时为扩展坞中的每个应用程序执行大约一项任务 (包括最近使用的应用)。该预算在 扩展坞上的所有应用。系统每小时执行多个任务 每个应用程序在活动表盘上都会出现并发症。这个预算是 在表盘上的所有复杂情况中共享。精疲力尽之后 预算,系统会延迟您的请求,直到有更多时间 可用。
因此在watchOS上无法以每5分钟1个的速率执行此操作。
一个人可以尝试通过iOS进行操作,并使用func transferCurrentComplicationUserInfo(_ userInfo: [String : Any] = [:]) -> WCSessionUserInfoTransfer
发送新的并发症数据,但是docs表示:
如果并发症在活动表盘上,您将获得50分 转一天。
因此,在用户举起手表之前,我看不到以这种速率预加载并发症数据的任何方法。