问题标签 [wkrefreshbackgroundtask]
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 - watchOS上CloudKit的WKRefreshBackgroundTask?
因此,在 watchOS 上,我知道您可以安排(和重新安排)aWKRefreshBackgroundTask
在后台为您工作。这对我的应用程序来说非常有用,可以确保 watchOS 上的数据是最新的 - 特别是因为它没有像 iOS 和 macOS 这样接收更新。
除了,我的数据使用 CloudKit 来存储用户的数据。
我想使用类似URLSession
场景的东西,您可以在其中安排WKApplicationRefreshBackgroundTask
创建后台URLSession
任务并将其交给系统的地方。系统反过来会为WKURLSessionRefreshBackgroundTask
您提供检查数据是否完成的位置URLSession
(通过检查下载的数据是否存在)。
我的问题是,你如何用 CloudKit 做这样的事情?
我可以在 中下载我的用户数据WKApplicationRefreshBackgroundTask
,但我认为我不能保证它会在系统提供给我的应用程序的时间内完成。这就是为什么(似乎)Apple 建议您将其拆分为两个后台任务:
WKApplicationRefreshBackgroundTask
- 创建URLSession
并将其交给系统。WKURLSessionRefreshBackgroundTask
- 对从步骤 1 下载的数据采取行动。
我不确定你可以用 CloudKit 做到这一点吗?或者,至少我似乎找不到类似的东西。
swift - WatchOS 应用程序因显示详细信息而崩溃 [WKRefreshBackgroundTask dealloc]
我知道这个崩溃与后台更新复杂性有关,系统自动释放对象可能是由于挂起状态。所以这里详细介绍了我在 watchOS 应用程序中尝试做的事情。
我正在后台更新并发症内容。此更新的详细信息是从服务器接收的。所以我应该启用任何后台模式吗?
提供背景模式音频、位置、远程通知和锻炼
但上述模式不符合我的要求,因为没有使用上述任何服务,只是从服务器更新复杂数据。
我使用 scheduleBackgroundRefresh 每 15 分钟更新一次并发症。
这是崩溃日志