HealthKit:不允许读取 HKCorrelationType
Posted
技术标签:
【中文标题】HealthKit:不允许读取 HKCorrelationType【英文标题】:HealthKit: Reading HKCorrelationType is not allowed 【发布时间】:2014-10-23 00:47:03 【问题描述】:当我尝试使用 HKCorrelation 样本类型初始化 HealthKit 时,应用程序崩溃并显示“不允许读取以下类型的授权:HKCorrelationTypeIdentifierBloodPressure”。
我已经成功读取了各种数量类型和睡眠类别类型。
代码不连续,但我正在调用
[healthStore requestAuthorizationToShareTypes:writeDataTypes
readTypes:readDataTypes
completion:^(BOOL success, NSError *error)
...
其中 readDataTypes 是一个 NSSet,其中包含我要阅读的样本类型集。其中之一是 HKCorrelationTypeIdentifierBloodPressure。
当我从套装中取出血压键时,它工作正常。
该集合还包括 HKQuantityTypeIdentifierBloodPressureSystolic 和 HKQuantityTypeIdentifierBloodPressureDiastolic 样本类型。
Apple 不希望我们读取组合数据类型吗?
【问题讨论】:
【参考方案1】:我已成功请求对血压相关性的各个元素进行授权:
HKQuantityType *bpSystolicType = [HKObjectType quantityTypeForIdentifier:HKQuantityTypeIdentifierBloodPressureSystolic];
HKQuantityType *bpDiastolicType = [HKObjectType quantityTypeForIdentifier:HKQuantityTypeIdentifierBloodPressureDiastolic];
然后当我想查询样本时:
HKSampleType *type = [HKQuantityType correlationTypeForIdentifier:HKCorrelationTypeIdentifierBloodPressure];
【讨论】:
谢谢。这是有道理的 - 获得各个数据类型的授权(我已经这样做了),然后查询相关类型。让我试试看。以上是关于HealthKit:不允许读取 HKCorrelationType的主要内容,如果未能解决你的问题,请参考以下文章
HealthKit HKAuthorizationStatus 用于读取数据
HealthKit HKAuthorizationStatus 用于读取数据