Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 从后台启动对HKObserverQuery的stopQuery_Ios_Healthkit - Fatal编程技术网

Ios 从后台启动对HKObserverQuery的stopQuery

Ios 从后台启动对HKObserverQuery的stopQuery,ios,healthkit,Ios,Healthkit,我的应用程序中后台HKObserverQuery运行良好,但我意识到,如果用户在设置查询后禁用HealthKit权限,即使由于权限更改而未返回任何结果,他们也会继续在后台启动应用程序。如果用户不想让我跟踪他们的活动,我就不想继续启动我的应用程序——有没有办法解决这个问题?您可以使用disableBackgroundDeliveryForType:withCompletion:禁用特定类型的后台传递,或者使用禁用所有后台传递DisableBackgroundDelivery with Comple

我的应用程序中后台HKObserverQuery运行良好,但我意识到,如果用户在设置查询后禁用HealthKit权限,即使由于权限更改而未返回任何结果,他们也会继续在后台启动应用程序。如果用户不想让我跟踪他们的活动,我就不想继续启动我的应用程序——有没有办法解决这个问题?

您可以使用
disableBackgroundDeliveryForType:withCompletion:
禁用特定类型的后台传递,或者使用
禁用所有后台传递
DisableBackgroundDelivery with Completion:
HKHealthStore
的方法


如果您发现没有结果,并且您认为这是因为用户更改了权限,那么您可以在observer查询的完成处理程序中执行此操作,即使在阅读HealthKit中的项目时,我认为您无法判断用户是否拒绝了阅读权限或没有任何项目(这是出于隐私考虑,知道用户拒绝读取血压样本可能会导致用户的血压出现医疗问题).

您可以使用
DisableBackgroundDelivery for type:withCompletion:
禁用特定类型的后台传送,或使用
HKHealthStore的
DisableBackgroundDelivery withCompletion:
方法禁用所有后台传送

如果您发现没有结果,并且您认为这是因为用户更改了权限,那么您可以在observer查询的完成处理程序中执行此操作,即使在阅读HealthKit中的项目时,我认为您无法判断用户是否拒绝了阅读权限或没有任何项目(这是出于隐私考虑,知道用户拒绝读取血压样本可能会导致用户的血压出现某些医疗问题)