我为HealthKit数据和所需的一切启用了后台交付。唯一令我困惑的是,当Health应用程序中有一些更新时,我会收到通知。在enableBackgroundDelivery
方法的完成处理程序或应用程序启动时的应用程序委托中。
答案 0 :(得分:1)
完成功能会判断启用是否成功,来自文档HealthKit
只要指定类型的新样本保存到商店,HealthKit就会唤醒您的应用。您的应用最多按指定频率定义的时间段调用一次。
只要您的应用程序启动,HealthKit就会为与新保存的数据匹配的任何观察者查询调用更新处理程序。如果您计划支持后台交付,请在应用程序委托的应用程序(:didFinishLaunchingWithOptions :)方法中设置所有观察者查询。通过在应用程序中设置查询(:didFinishLaunchingWithOptions :),可以确保在HealthKit提供更新之前实例化并准备好使用查询。