关于从AppleHealthKit API获取穿戴设备睡眠数据来源信息的技术问询
Apple HealthKit 穿戴设备睡眠数据相关问题解答
是否可获取数据是否来自穿戴设备的标识
可以实现。HealthKit中所有睡眠数据样本(如HKCategorySample)都继承自HKObject,该类的sourceRevision.source属性里的isPrimaryDevice字段可判断数据来源:若为true,数据来自用户的iPhone;若为false,则来自穿戴设备(如Apple Watch)。是否可获取穿戴设备的品牌/型号
可以获取。通过sourceRevision.source.name能直接拿到设备的显示名称,比如"Apple Watch Series 8";另外sourceRevision.productType会返回标准化的型号编码(如"Watch6,2"),你可以根据编码映射为公开的型号名称。是否可获取穿戴设备的软件版本
可以获取。sourceRevision.operatingSystemVersion包含系统版本的细分字段:majorVersion、minorVersion、patchVersion,将这三个字段拼接即可得到完整版本号,比如"9.5.1"。
权限说明
获取这些来源相关数据不需要额外权限,只要你已申请读取睡眠数据的基础权限(即针对HKObjectType.categoryType(forIdentifier: .sleepAnalysis)的读取权限),就能访问上述sourceRevision相关属性。
内容的提问来源于stack exchange,提问作者Leo
相关产品推荐
相关产品推荐

