如何将总距离添加到HKLiveWorkouts

时间:2018-10-16 23:40:24

标签: ios swift health-kit hkhealthstore

我正在使用新的HKLiveWorkoutBuilder创建Healthkit锻炼。一切都很好,除了我不知道如何给锻炼总距离。我添加了有效的距离样本(尽管它在“健康状况”中两次显示了单位,例如200英里),但是稍后查询锻炼时,它没有总距离,即使在锻炼生成器中,finishWorkout()函数也没有锻炼总距离。有谁知道我如何获得实时锻炼的总距离?

2 个答案:

答案 0 :(得分:1)

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

由于HKWorkout是不可变的,因此只有在收集了所有数据后才可以创建一个。然后,一旦您要保存锻炼,就可以重新查询Health商店中的所有相关数据,或使用实时收集的样本。

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

答案 1 :(得分:0)

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