HKStatisticsQuery устарел

Я запускаю 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 несколько дней назад, но ответа нет.


person chris stamper    schedule 05.01.2015    source источник
comment
Я должен был упомянуть, что этому вопросу уделялось очень мало внимания и он не давал реального решения.   -  person chris stamper    schedule 06.01.2015
comment
Ответ на этот вопрос является авторитетным ответом, который вы собираетесь найти. Поведение, которое вы видите, ожидаемо.   -  person Allan    schedule 06.01.2015
comment
Это не означает, что желаемое поведение является необоснованным, но в настоящее время нет способа сделать то, что вам нравится, только с помощью запроса статистики. Обратите внимание, что вы можете выполнить любой запрос в ответ на обработчик обновлений запуска HKObserverQuery — это не обязательно должен быть HKSampleQuery.   -  person Allan    schedule 06.01.2015
comment
Я могу сделать запрос статистики в ответ на наблюдатель? Я думаю, что это может быть ответом ... не понял этого.   -  person chris stamper    schedule 06.01.2015