Я пытаюсь получить частоту сердечных сокращений для всех выполненных тренировок, а также время начала и окончания тренировки и вернуть все значения в виде единиц времени или количества в результатах JSON. Мне удалось получить все тренировки, выполнив запросы продолжительностью больше 0, но теперь я хотел бы получить эту дополнительную информацию.
let workoutPredicate = HKQuery.predicateForWorkouts(with: .greaterThanOrEqualTo, duration: 1)
let compound = NSCompoundPredicate(andPredicateWithSubpredicates:
[workoutPredicate])
let sortDescriptor = NSSortDescriptor(key: HKSampleSortIdentifierEndDate,
ascending: true)
let query = HKSampleQuery(
sampleType: .workoutType(),
predicate: compound,
limit: 0,
sortDescriptors: [sortDescriptor]) { query, samples, error in
DispatchQueue.main.async {
guard let finalSamples = samples as? [HKWorkout] else {
result()
return
}
result(finalSamples.map { sample -> NSDictionary in
return ["duration" : sample.duration, "totalDistance": sample.totalDistance?.doubleValue(for: HKUnit.mile()) as Any, "totalEnergyBurned": sample.totalEnergyBurned?.doubleValue(for: HKUnit.kilocalorie()) as Any]
})
}
}
HKHealthStore().execute(query)
Я хотел бы получить данные о частоте сердечных сокращений для тренировки и времени начала / окончания тренировки.