HealthKit 的 HKAnchoredObjectQuery 在 iOS 9.0 中不返回已删除的对象。即使我删除一个对象然后添加一个对象,删除的对象数组始终为空(第一次启动应用程序时除外)。
但是相同的代码在 iOS 9.2.1 上运行良好。每当将对象添加到健康应用程序并触发观察者查询时,都会返回已删除的对象。
这是 iOS 9.2.1 中的一些新更新吗?在这个版本中解决了删除对象的错误?
我找不到任何证实这一点的 Apple 文档。
编辑:触发查询的代码是
NSPredicate* predicate = [HKQuery predicateForSamplesWithStartDate: [NSDate dateWithTimeIntervalSinceNow:-172800.0] endDate:nil options:0];
HKAnchoredObjectQuery *query =
[[HKAnchoredObjectQuery alloc]
initWithType:sampleType
predicate:predicate
anchor:anchor
limit:HKObjectQueryNoLimit
resultsHandler:^(HKAnchoredObjectQuery * _Nonnull query,
NSArray<__kindof HKSample *> * _Nullable sampleObjects,
NSArray<HKDeletedObject *> * _Nullable deletedObjects,
HKQueryAnchor * _Nullable newAnchor,
NSError * _Nullable error) {
}];