let predicate = HKQuery.predicateForSamples(withStart: startDate, end: endDate, options: []) let query = HKStatisticsCollectionQuery(quantityType: type, quantitySamplePredicate: predicate, options: [.cumulativeSum, .separateBySource], anchorDate: anchorDate, intervalComponents: intervalComponents) query.initialResultsHandler = { [unowned self] (query, result, error) in guard let result = result, error == nil else { return } for item in result.statistics() { print("\(item.startDate) - \(item.endDate) \(item.sumQuantity()!.doubleValue(for: HKUnit.count()))”) } } healthStore.execute(query)