HealthKit: Чтение HKCorrelationType не разрешено

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

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

Код не является непрерывным, но я звоню

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

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

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

Набор также включает типы образцов HKQuantityTypeIdentifierBloodPressureSystolic и HKQuantityTypeIdentifierBloodPressureDiastolic.

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


person Ron Barr    schedule 23.10.2014    source источник


Ответы (1)


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

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

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

HKSampleType *type = [HKQuantityType correlationTypeForIdentifier:HKCorrelationTypeIdentifierBloodPressure];
person Dan Waylonis    schedule 23.10.2014
comment
Спасибо. Это имеет смысл — получить авторизацию для отдельных типов данных (я уже это делаю), а затем запросить тип корреляции. Позвольте мне попробовать это. - person Ron Barr; 24.10.2014