Домен ошибки Apple Health Kit = com.apple.healthkit Code = 5 Авторизация не определена

Я определил авторизацию, прежде чем пытаться сохранить какие-либо данные или сделать что-либо с ними. Ошибка происходит в момент запроса:

HKSampleQuery *query = [[HKSampleQuery alloc] initWithSampleType:foodType 
predicate:predicate 
limit:HKObjectQueryNoLimit 
sortDescriptors:nil 
resultsHandler:^(HKSampleQuery *query, NSArray *results, NSError *error){ ... }

Да, я прочитал документацию Apple, в которой говорится:

Попытки сохранить данные до запроса разрешения завершаются ошибкой HKErrorAuthorizationNotDetermined.

Но я запрашиваю разрешения до того, как попытаюсь запросить данные (вижу список со всеми типами данных (в коде — dataTypesToRead/Write)). У кого-нибудь была такая проблема?


person Async-    schedule 10.06.2015    source источник


Ответы (1)


Хорошо, выяснил проблему. В типах данных при определении того, какие типы данных может читать и записывать приложение, у меня был неправильный тип для анализа сна.

Неправильный:

HKCategoryType *sleepType = [HKSampleType categoryTypeForIdentifier:HKCategoryValueSleepAnalysisAsleep];

Верно:

HKCategoryType *sleepType = [HKSampleType categoryTypeForIdentifier:HKCategoryTypeIdentifierSleepAnalysis];
person Async-    schedule 12.06.2015