我正在编写一个Apple Watch应用。我有一个HKLiveWorkoutBuilder,可为我提供如下的心率更新。我想知道是否有可能在锻炼期间查询锻炼的时间量,即您每分钟超过100次跳动?有谁知道这是否可行或您将如何编写这样的查询?
func workoutBuilder(_ workoutBuilder: HKLiveWorkoutBuilder, didCollectDataOf collectedTypes: Set<HKSampleType>) {
for type in collectedTypes{
guard type is HKQuantityType else{
return //Nothing to do
}
let heartRateType = HKQuantityType.quantityType(forIdentifier: .heartRate)!
if collectedTypes.contains(heartRateType){
let updatedStatistics = workoutBuilder.statistics(for: heartRateType)
//use updatedStatistics to change Heart rate label...
let heartRateUnit = HKUnit(from: "count/min")
let currentHeartRate = updatedStatistics?.averageQuantity()?.doubleValue(for: heartRateUnit)
//Do application logic with heart rate
}
}
}
}
编辑 我觉得应该有一种方法可以通过查询来获取此信息,但是现在我只是手动进行跟踪,每次获取新的心率读数时,我都会更新它在该区域中的停留时间。