0
ヘルスアプリケーションから血圧を得るためにヘルスキットを使用していますが、私は奇妙な動作をします: ヘルスアプリケーションから新しいデータを追加します私のクライアントアプリケーションで正常に、すべてを削除アクションを使用して、健康アプリからそのデータを削除すると、私のクライアントのアプリケーションはまだそれを返します。しかし、同じデータを別々に削除すると(セルを左にスワイプして[削除]ボタンをクリックすると)、クライアントのAppはデータを返しません。 私が探している正しい動作は、ヘルスAppのデータがないとき、クライアントの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];
}
}];