1

此应用程序的用户可以选择是否要使用 Healthkit 功能(这些功能不是应用程序运行所必需的)。我想设置一个观察者查询以在后台将数据发送到服务器。

根据此链接上的 Apple 文档:https ://developer.apple.com/documentation/healthkit/hkobserverquery/executing_observer_queries

如果您计划支持后台交付,请在您的应用委托的 application:didFinishLaunchingWithOptions: 方法中设置所有观察者查询。通过在 application:didFinishLaunchingWithOptions: 中设置查询,您可以确保在 HealthKit 交付更新之前查询已实例化并准备好使用。

据我了解,在 application:didFinishLaunchingWithOptions: 方法中设置您的观察者查询意味着我必须在第一次启动时提示用户授予权限。是否可以从其他地方设置后台交付?例如,我可以在提示用户权限的同时这样做吗?

谢谢!

4

1 回答 1

1

一种可能的流程是:

  • didFinishLaunching中,检查UserDefaults指示用户已批准 HealthKit 集成的布尔值。如果是,true则调用一个函数来设置您的观察者查询。

  • 在您的应用程序执行中,用户表示他们想要提供对 HealthKit 数据的访问权限时,提示您输入权限,然后在UserDefaults您获得权限后设置布尔值。

  • 此时,您还将调用您的函数来设置您的观察者查询,以便您开始接收数据。

于 2021-02-07T09:06:57.067 回答