我正在运行HKStatisticsQuery来获取当天的总步数。
返回的数据仅在我上次打开设备上的Health应用程序时才准确。如果当天没有打开Health,则查询返回0步。这种情况一直发生。
似乎打开Health应用程序会触发统计计算或重新计算。
统计查询是否总是过时的?有没有办法手动强制重新计算或刷新?
我的代码看起来像这样:
// Request daily step count
NSPredicate *todayOnly = [HKStatisticsQuery predicateForSamplesWithStartDate:[MYDataManager startDate] endDate:[NSDate date] options:HKQueryOptionNone];
HKQuantityType *stepCount = [HKQuantityType quantityTypeForIdentifier:HKQuantityTypeIdentifierStepCount];
HKStatisticsQuery *todaysStepsQuery = [[HKStatisticsQuery alloc]initWithQuantityType:stepCount
quantitySamplePredicate:todayOnly
options:HKStatisticsOptionCumulativeSum
completionHandler:^(HKStatisticsQuery *query, HKStatistics *result, NSError *error) {
// Return result
completion(result);
}];
我可以使用HKSampleQuery和观察者查询,但这似乎打败了甚至进行统计查询的整个目的。我几天前已经提交了雷达19368739,没有回应。