在 iOS 8 HealthKit 中使用后台交付的正确方法是什么?
以下是我启用 HealthKit 后台交付的代码。
- (void)observeSleepData {
HKCategoryType *sleepType = [HKCategoryType categoryTypeForIdentifier:HKCategoryTypeIdentifierSleepAnalysis];
[self.healthStore enableBackgroundDeliveryForType:sleepType frequency:HKUpdateFrequencyImmediate withCompletion:^(BOOL success, NSError *error) {
if (success) {
}
}];
HKObserverQuery *query = [[HKObserverQuery alloc] initWithSampleType:sleepType predicate:nil updateHandler:^(HKObserverQuery *query, HKObserverQueryCompletionHandler completionHandler, NSError *error) {
NSLog(@"sleep data updated");
}];
[self.healthStore executeQuery:query];
}
除了启用 HealthKit 功能之外,我是否需要配置额外的东西来完成这项工作?是否HKObserverQuery
响应 iOS8 原生健康应用程序中的手动输入?