You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 10:22:04