Я запускаю HKStatisticsQuery для получения общего количества шагов за текущий день.
Возвращенные данные являются точными только до того момента, когда я в последний раз открывал приложение "Здоровье" на устройстве. Если приложение "Здоровье" вообще не открывалось в тот день, запрос возвращает 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 несколько дней назад, но ответа нет.