我正在运行 HKStatisticsQuery 来获取当天的总步数。
返回的数据仅在我上次在设备上打开 Health 应用程序时是准确的。如果当天没有打开 Health,则查询返回 0 步。这种情况始终如一地发生。
似乎打开健康应用程序会触发统计计算或重新计算。
统计查询总是过时吗?有没有办法手动强制重新计算或刷新?
我的代码看起来像这样:
// 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,没有任何回应。