Как вы анализируете информацию, полученную из запроса? Я ищу, чтобы сжигать активные калории, используя следующее:
func getActiveEnergy() {
let calendar = NSCalendar.current
let now = Date()
let components = calendar.dateComponents([.year, .month, .day], from: now)
guard let startDate = calendar.date(byAdding: .day, value: -7, to: now) else {
fatalError("*** Unable to create the start date")
}
print("startDate -> \(startDate)")
guard let endDate = calendar.date(from: components) else {
fatalError("*** Unable to create the end date")
}
print("endDate -> \(endDate)")
let predicate = HKQuery.predicateForSamples(withStart: startDate, end: endDate, options: [])
let sort = NSSortDescriptor(key: HKSampleSortIdentifierStartDate, ascending: true)
guard let sampleType = HKSampleType.quantityType(forIdentifier: HKQuantityTypeIdentifier.activeEnergyBurned) else {
fatalError("*** This method should never fail ***")
}
let query = HKSampleQuery(sampleType: sampleType, predicate: predicate, limit: Int(HKObjectQueryNoLimit), sortDescriptors: [sort]) { (query, results, error) in
guard let samples = results as? [HKQuantitySample] else {
print("There was an error creating the query")
return
}
for sample in samples {
print("sample from query -> \(sample)")
}
DispatchQueue.main.async {
}
}
self.healthKit.execute(query)
}
Результаты дают строку информации:
0,055 ккал 0FBBA46F-F9C0-4BB7-87F2-84B567900084 "Серия Кевина 4 "(6.2.1)," Watch5,2 "(6.2.1)" Apple Watch "(2020-04-14 17:05:27 -0400 - 2020-04-14 17:05:37 -0400)
Мне нужно только значение (double) в начале строки.
Спасибо за помощь.