0

我已经查看了很多 Apple 文档和 SO 问题,但仍然无法弄清楚为什么或者即使这应该有效。

我运行了很长时间HKObserverQuery,我在我的设置中设置了它,AppDelegate并且我设置了所有必需的权限、权利和 info.plist 内容,因此从这个角度来看它可以正常工作。

在模拟器上,我可以运行我的应用程序并在后台运行它,手动将一些数据添加到 HK 数据库中,我看到我的调试器写出观察者查询处理程序被命中。

问题是观察者处理程序创建了一个HKAnchoredObjectQuery但锚定的查询处理程序在应用程序处于后台时永远不会被触发。当我将应用程序带到前台时,观察者和锚定查询正常运行,两个处理程序都会触发并写入我的调试日志。

我的问题是,锚定的查询处理程序是否应该在应用程序处于后台时响应?

我正在自杀,因为我应该获取用户的步骤数据并将其发送到服务器,但现在我只能在用户激活应用程序时获取该数据。

4

1 回答 1

0

完成从锚定对象查询中读取/处理数据后,在观察者查询上调用完成处理程序。

于 2021-07-22T04:24:01.330 回答