2017-05-14 13 views
0

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

enter image description here

これは私のコードです:

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

    } 

}]; 

答えて

0

これはiOSのバグではなく、アプリのコードを変更することで解決することができるもののように思えます。アップルとfile a radarする必要があります。

関連する問題