我正在使用新的HKLiveWorkoutBuilder创建Healthkit锻炼。一切都很好,除了我不知道如何给锻炼总距离。我添加了有效的距离样本(尽管它在“健康状况”中两次显示了单位,例如200英里),但是稍后查询锻炼时,它没有总距离,即使在锻炼生成器中,finishWorkout()函数也没有锻炼总距离。有谁知道我如何获得实时锻炼的总距离?
答案 0 :(得分:1)
HKLiveWorkoutBuilder看起来并不像为您创建HKWorkout,而是仅在锻炼过程进行时为您提供增量数据。
由于HKWorkout是不可变的,因此只有在收集了所有数据后才可以创建一个。然后,一旦您要保存锻炼,就可以重新查询Health商店中的所有相关数据,或使用实时收集的样本。
将HKQuantityTypeIdentifier
用于“行进距离”,例如:
https://developer.apple.com/documentation/healthkit/hkquantitytypeidentifier/1615230-distancewalkingrunning
在初始化HKWorkout之前查询值。
答案 1 :(得分:0)
似乎可以在HKWorkoutConfiguration()上设置活动类型。我使用“其他”作为活动类型,无论出于何种原因,产生的HKWorkout都没有总距离。我将活动类型切换为步行,效果很好。