如何解决调用 HKAnchoredObjectQuery 的 HealthKit HKObserverQuery 未在后台运行结果处理程序
我已经浏览了很多 Apple 文档和 SO 问题,但仍然无法弄清楚为什么或什至这是否可行。
我有一个长期运行的 from
,我在我的 HKObserverQuery
中进行了设置,并且我设置了所有必需的权限、权利和 info.plist 内容,因此从这个角度来看它可以正常工作。>
在模拟器上,我可以运行我的应用程序并将其设为后台,手动向 HK 数据库添加一些数据,然后我看到我的调试器写出观察者查询处理程序被命中。
问题在于观察者处理程序创建了一个 AppDelegate
,但当应用程序处于后台时,锚定查询处理程序永远不会被触发。当我将应用置于前台时,观察者和锚定查询正常运行,两个处理程序都会触发并写入我的调试日志。
我的问题是,当应用程序在后台时,锚定查询处理程序是否应该响应?
我要自杀了,因为我应该获取用户的步数数据并将其发送到服务器,但现在我只能在用户激活应用程序时获取该数据。
解决方法
在完成从锚定对象查询读取/处理数据后,在观察者查询上调用完成处理程序。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。