1

我正在使用新的 HKLiveWorkoutBuilder 来创建 Healthkit Workout。一切都很好,只是我不知道如何给锻炼一个总距离。我添加了有效的距离样本(尽管它在 Health 中显示了两次单位,例如 200 mi mi)但是当稍后查询锻炼时它没有总距离,即使在锻炼构建器中完成锻炼()函数锻炼也没有总距离。有谁知道我如何在现场锻炼中获得总距离?

4

2 回答 2

1

它看起来不像 HKLiveWorkoutBuilder 为您创建 HKWorkout,而是仅在锻炼会话进行时为您提供增量数据。

由于 HKWorkout 是不可变的,因此您应该仅在收集到所有数据后创建一个。然后,一旦您想保存锻炼,您可以从 Health 存储中重新查询所有相关数据,或使用实时收集的样本。

使用HKQuantityTypeIdentifier“行驶距离”例如: https ://developer.apple.com/documentation/healthkit/hkquantitytypeidentifier/1615230-distancewalkingrunning 在初始化 HKWorkout 之前查询值。

于 2018-10-22T21:49:25.513 回答
0

似乎在 HKWorkoutConfiguration() 上设置活动类型就是答案。我使用“其他”作为活动类型,无论出于何种原因,生成的 HKWorkout 都没有总距离。我将活动类型切换为步行,效果很好。

于 2018-10-22T22:50:46.370 回答