如何从 HealthKit 运行 锻炼中获取海拔增益、节奏和 运行 配速?

How to access elevation gain, cadence and running pace from HealthKit running workout?

我需要访问海拔增益、踏频和 运行 配速(不是平均水平,但像每公里一样)锻炼来自 AppleWatch。

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

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

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

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

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