如何从HealthKit中获取泳池长度数据?
如何获取HealthKit中的泳池长度数据?

我能够获取游泳距离数据和游泳划水次数数据,但无法获取泳池长度数据。请问如何获取泳池长度数据?
现有代码片段:
... guard let distance = workout.statistics(for: .init(.distanceSwimming)), let meter = distance.sumQuantity()?.doubleValue(for: HKUnit.meter()), let sampleType = HKSampleType.quantityType(forIdentifier: .swimmingStrokeCount) ...
要获取泳池长度,你需要从HKWorkout的metadata属性中提取,对应的键是HKMetadataKeySwimmingPoolLength,示例代码如下:
// 提取泳池长度数据 if let poolLength = workout.metadata?[HKMetadataKeySwimmingPoolLength] as? Double { print("泳池长度:\(poolLength)米") }
注意事项:
- 只有当用户记录游泳训练时手动设置了泳池长度,或者设备自动识别到该信息,这个元数据字段才会存在,否则返回
nil - 该字段的数值直接以米为单位,无需额外单位转换
内容的提问来源于stack exchange,提问作者Hoody
相关产品推荐
相关产品推荐

