0

我正在运行 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,没有任何回应。

4

0 回答 0