enableBackgroundDelivery(for:frequency:withCompletion :) HealthKit

时间:2018-02-07 17:57:02

标签: ios swift health-kit

我为HealthKit数据和所需的一切启用了后台交付。唯一令我困惑的是,当Health应用程序中有一些更新时,我会收到通知。在enableBackgroundDelivery方法的完成处理程序或应用程序启动时的应用程序委托中。

1 个答案:

答案 0 :(得分:1)

完成功能会判断启用是否成功,来自文档HealthKit

  

只要指定类型的新样本保存到商店,HealthKit就会唤醒您的应用。您的应用最多按指定频率定义的时间段调用一次。

     

只要您的应用程序启动,HealthKit就会为与新保存的数据匹配的任何观察者查询调用更新处理程序。如果您计划支持后台交付,请在应用程序委托的应用程序(:didFinishLaunchingWithOptions :)方法中设置所有观察者查询。通过在应用程序中设置查询(:didFinishLaunchingWithOptions :),可以确保在HealthKit提供更新之前实例化并准备好使用查询。