0

我正在使用健康工具包从健康应用程序获取血压,我有一个奇怪的行为:我从健康应用程序添加了一个新数据,它正确显示在我的客户端应用程序上,当我使用删除所有操作从健康应用程序中删除该数据时,我的客户端应用程序仍然返回它。但是当我单独删除相同的数据时(在单元格上向左滑动并单击删除按钮),我的客户端应用程序不会返回数据。我正在寻找的正确行为是当健康应用程序上没有数据时,我的客户端应用程序也应该不显示任何数据。

在此处输入图像描述

这是我的代码:

[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];

    }

}];
4

1 回答 1

0

这似乎是 iOS 中的一个错误,而不是您可以通过更改应用程序代码来解决的问题。你应该向苹果公司提交一份雷达文件。

于 2017-05-15T19:51:05.490 回答