Код:
let type = HKQuantityType.quantityType(forIdentifier: .stepCount)!
let now = Date()
let startOfDay = Calendar.current.startOfDay(for: now)
var interval = DateComponents()
interval.day = 1
let query = HKStatisticsCollectionQuery(quantityType: type,
quantitySamplePredicate: nil,
options: [.cumulativeSum],
anchorDate: startOfDay,
intervalComponents: interval)
query.initialResultsHandler = { _, result, error in
var resultCount = 0.0
result!.enumerateStatistics(from: startOfDay, to: now) { statistics, _ in
if let sum = statistics.sumQuantity() {
// Get steps (they are of double type)
resultCount = sum.doubleValue(for: HKUnit.count())
} // end if
// Return
DispatchQueue.main.async {
completion(resultCount)
}
}
}
Я получаю только сегодняшние шаги, но я хочу, чтобы количество шагов за предыдущие 7 дней (т.е. отдельно для каждого дня).