получить подробный c шаг детали (время начала и время окончания) из аптечки, используя swift - PullRequest
0 голосов
/ 16 января 2020

Сегодня я получаю шаги из аптечки, используя приведенный ниже код.

 private func updateSteps(completion: @escaping (Double) -> Void) {

    print("Authorization complete")
    let stepsCount   = HKQuantityType.quantityType(forIdentifier: .stepCount)!
    let now = Date()
    let startOfDay = Calendar.current.startOfDay(for: now)
    let predicate = HKQuery.predicateForSamples(withStart: startOfDay, end: now, options: .strictStartDate)
    // separateBySource, duration(13), discreteMostRecent(12)
    let query = HKStatisticsQuery(quantityType: stepsCount, quantitySamplePredicate: predicate, options: .separateBySource) { (_, result, error) in
        var resultCount = 0.0

        guard let result = result else {
            print("\(String(describing: error?.localizedDescription)) ")
            completion(resultCount)
            return
        }


        var dateFormatter: DateFormatter {
            let formatter = DateFormatter()
            formatter.timeZone = TimeZone.current
            formatter.dateFormat = "HH:mm:ss"
            return formatter
        }
        let start = dateFormatter.string(from: result.startDate)//time of first step-10:42AM
        let end = dateFormatter.string(from: result.endDate)//time of last step-04:49PM
        for source in result.sources! {
            print("source \(source) = \(result.sumQuantity(for: source)?.doubleValue(for: HKUnit.count()))")

        }


        if let sum = result.sumQuantity() {
            resultCount = sum.doubleValue(for: HKUnit.count())
        }

        DispatchQueue.main.async {
            completion(resultCount)
        }
    }

    healthStore.execute(query)

}

Теперь я хочу получить время начала (16 января 2020 года в 15:32:51 вечера) и время окончания ( 16 января 2020 года в 15:32:56) конкретного шага c (10 шагов).

enter image description here

Но я получаю только дата начала первого шага (10 шагов) и дата окончания последнего шага (18 шагов)

enter image description here

Как я могу это сделать? Я пытался получить дату от HKSource. Пожалуйста, объясните мне, что мне здесь не хватает? Является ли это возможным? Заранее спасибо.

...