我使用保健套装从Health App获得血压,我有一个奇怪的行为: 我从健康应用添加了一个新数据,它在我的客户端应用中正确显示,当我使用全部删除操作从健康应用中删除该数据时,我的客户端应用仍会返回它。但是当我单独删除相同的数据时(在单元格上向左滑动并单击“删除”按钮),我的客户端应用程序不会返回数据。 我正在寻找的正确行为是当健康应用程序上没有数据时,我的客户端应用程序也应该显示没有数据。
这是我的代码:
[self.healthStore requestAuthorizationToShareTypes:nil readTypes:[self dataTypesToRead] completion:^(BOOL success, NSError *error) {
if (success) {
HKSampleType *sampleType = [HKSampleType quantityTypeForIdentifier:HKQuantityTypeIdentifierBloodPressureSystolic];
NSPredicate *predicate = [HKQuery predicateForSamplesWithStartDate:startDate endDate:endDate options:HKQueryOptionNone];
HKSampleQuery *query = [[HKSampleQuery alloc] initWithSampleType:sampleType predicate:predicate limit:0 sortDescriptors:nil resultsHandler:^(HKSampleQuery *query, NSArray *results, NSError *error) {
if (!results) {
NSLog(@"An error occured. The error was: %@.", error);
abort();
}
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@"results: %@.", results);
});
}];
[self.healthStore executeQuery:query];
}
}];