2014-10-23 2 views
3

Когда я пытаюсь инициализировать HealthKit с типом образца HKCorrelation, приложение аварийно завершает работу с «Авторизация для чтения следующих типов: HKCorrelationTypeIdentifierBloodPressure».HealthKit: Чтение HKCorrelationType не допускается

Я успешно прочитал различные типы количества и типы категорий сна.

Код не смежный, но я звоню

[healthStore requestAuthorizationToShareTypes:writeDataTypes 
            readTypes:readDataTypes 
            completion:^(BOOL success, NSError *error) { 
... 
} 

где readDataTypes является NSSet, содержащий набор типов образцов я ищу для чтения. Одним из них является HKCorrelationTypeIdentifierBloodPressure.

Когда я снимаю ключ кровяного давления из набора, он отлично работает.

В комплект также входят типы образцов HKQuantityTypeIdentifierBloodPressureSystolic и HKQuantityTypeIdentifierBloodPressureDiastolic.

Неужели Apple не хочет, чтобы мы читали комбинированный тип данных?

ответ

8

я имел успех с просьбой о разрешении отдельных элементов корреляции артериального давления:

HKQuantityType *bpSystolicType = [HKObjectType quantityTypeForIdentifier:HKQuantityTypeIdentifierBloodPressureSystolic]; 
HKQuantityType *bpDiastolicType = [HKObjectType quantityTypeForIdentifier:HKQuantityTypeIdentifierBloodPressureDiastolic]; 

А потом, когда я хочу, чтобы запросить образцы:

HKSampleType *type = [HKQuantityType correlationTypeForIdentifier:HKCorrelationTypeIdentifierBloodPressure]; 
+0

Спасибо. Это имеет смысл - получить авторизацию для отдельных типов данных (я уже это сделал), а затем запросить тип корреляции. Позвольте мне попробовать. –

+0

Отлично работает. Благодарю. –

Смежные вопросы