Добрый день,
Мое приложение для фитнеса скоро появится, и я могу запросить HealthKit для других данных, но мне тяжело собирать памятные минуты. Вот что у меня есть:
//MARK: - Read Mindful Minutes
func readMindfulMinutes(date: Date) {
guard let mindfulMinutes = HKSampleType.categoryType(forIdentifier: .mindfulSession) else {
print("Sample type not available")
return
}
let startDate = convertStartDate(StartDate: date)
let endDate = convertEndDate(EndDate: date)
let predicate = HKQuery.predicateForSamples(withStart: startDate, end: endDate, options: .strictStartDate)
let mindfulMinutesQuery = HKSampleQuery(sampleType: mindfulMinutes,
predicate: predicate,
limit: HKObjectQueryNoLimit,
sortDescriptors: nil) {
(query, samples, error) in
guard
error == nil,
let quantitySamples = samples as? [HKQuantitySample] else {
print("Something went wrong: \(String(describing: error))")
return
}
let total = quantitySamples.reduce(0.0) { $0 + $1.quantity.doubleValue(for: HKUnit.minute()) }
DispatchQueue.main.async {
self.userMindfulMinutes = total
print("userMindfulMinutes = \(self.userMindfulMinutes)")
}
}
HKHealthStore().execute(mindfulMinutesQuery)
}
}
Мне всегда говорят «Что-то пошло не так: ноль» из оператора печати. Любая помощь с благодарностью.