如何从 HealthKit 跑步锻炼中获取海拔增益、节奏和跑步速度?

Posted

技术标签:

【中文标题】如何从 HealthKit 跑步锻炼中获取海拔增益、节奏和跑步速度?【英文标题】:How to access elevation gain, cadence and running pace from HealthKit running workout? 【发布时间】:2021-02-25 19:52:27 【问题描述】:

我需要通过 AppleWatch 访问海拔增益、步频和跑步速度(不是平均水平,而是每公里)。

有什么方法可以访问这些数据。目前我可以访问锻炼的持续时间、覆盖的距离……这些有什么元数据吗?我在 Apple 的 HealthKit 文档中找不到任何内容。

我现在想,我必须查询 stepCount 和 distanceCovered 才能获得速度和节奏,但仍然无法访问海拔增益数据。

【问题讨论】:

【参考方案1】:

如果 workout 是您的 HKWorkout 对象,那么您可以这样做:

if let workoutMetadata = workout.metadata 
    if let workoutElevation = workoutMetadata["HKElevationAscended"] as? HKQuantity 
        print("Elevation = \(workoutElevation.doubleValue(for: HKUnit.meter()))m")
    

有些值不能用作属性似乎有点奇怪。我想这是因为它们只适用于有限数量的锻炼类型。

【讨论】:

太好了,正是我需要的

以上是关于如何从 HealthKit 跑步锻炼中获取海拔增益、节奏和跑步速度?的主要内容,如果未能解决你的问题,请参考以下文章

从 HealthKit 读取锻炼数据的最佳方法

从 HealthKit 读取锻炼数据的最佳方法

如何使用 HealthKit 从 iHealth 获取元数据?

如何使用 HealthKit 从 iHealth 获取元数据?

如何使用 Swift 从适用于 ios 应用程序的 HealthKit 获取循环持续时间

从 HealthKit 查询游泳距离