Я использую аптечку для получения артериального давления из приложения "Здоровье". У меня странное поведение: я добавляю новые данные из приложения "Здоровье", они правильно отображаются в моем клиентском приложении. Когда я удаляю эти данные из приложения "Здоровье" с помощью Удалить Все действие, мое клиентское приложение по-прежнему возвращает его. Но когда я удаляю те же данные отдельно (проведите пальцем влево по ячейке и нажмите кнопку «Удалить»), мое клиентское приложение не возвращает данные. Правильное поведение, которое я ищу, - это когда нет данных о приложении для здоровья, мое клиентское приложение также не должно показывать никаких данных.
Это мой код:
[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];
}
}];