【问题标题】:HealthKit requestAuthorization for correlationType(forIdentifier: .bloodPressure)HealthKit requestAuthorization for correlationType(forIdentifier: .bloodPressure)
【发布时间】:2018-10-18 08:13:53
【问题描述】:

我正在尝试从 HealthKit 读取血压数据,我想知道为什么我必须要求 .bloodPressureSystolic.bloodPressureDiastolic 而不是 .bloodPressure

我想做的是问

requestAuthorization(toShare: nil, read: dataTypesToRead, completion: { ... })

dataTypesToRead = HKObjectType.correlationType(forIdentifier: .bloodPressure) 的位置(ps:这只是为了简单起见,correlationType(forIdentifier: ) 应该被解包)

应用程序崩溃。所以我猜一个人不能requestAuthorizationcorrelationType(forIdentifier: )

如果我使用HKObjectType.quantityType(forIdentifier:).categoryType(forIdentifier:),那么requestAuthorization 可以完美运行,.bloodPressureSystolic.bloodPressureDiastolic 也可以使用

如果我的猜测是正确的,那么为什么苹果会说:

typesToRead 包含要读取的数据类型的集合。该集合可以包含HKObjectType 类的任何具体子类(HKCharacteristicType , HKQuantityType, HKCategoryType, HKWorkoutType or HKCorrelationType classes 中的任何一个)。如果用户授予权限,您的应用可以从 HealthKit 存储中读取这些数据类型。

https://developer.apple.com/documentation/healthkit/hkhealthstore/1614152-requestauthorization

我的猜测正确吗?为什么我不能请求HKObjectType.correlationType(forIdentifier: .bloodPressure) 的许可??

【问题讨论】:

    标签: ios swift permissions healthkit


    【解决方案1】:

    HealthKit 不需要对关联类型进行授权,因为您的应用只能查询与其有权读取的成员对象的关联。当提到HKCorrelationType 类时,文档似乎有点误导。

    【讨论】:

      猜你喜欢
      • 2017-01-07
      • 2016-03-30
      • 1970-01-01
      • 2021-09-15
      • 2020-03-07
      • 2018-07-16
      • 2017-03-17
      • 2020-09-09
      • 1970-01-01
      相关资源
      最近更新 更多