Не получая результатов при чтении heartRate в HealthKit на iOS - PullRequest
0 голосов
/ 06 октября 2019

Я пытаюсь получить heartRate за прошедший месяц от HealthKit, однако я получаю пустые результаты.

Я прочитал, что это можно получить из яблочных часов, однако у меня сложилось впечатление, чтоего можно извлечь из приложения Health.

Чего мне не хватает?

    func getThisMonthsHeartRates() {
        print("func called")
        let heartRateUnit:HKUnit = HKUnit(from: "count/min")
        let heartRateType:HKQuantityType = HKQuantityType.quantityType(forIdentifier: .heartRate)!

        //predicate
      let monthsToAdd = -1
       let startDate = getCurrentDate()

       var dateComponent = DateComponents()

       dateComponent.year = monthsToAdd

       let endDate = Calendar.current.date(byAdding: dateComponent, to: startDate)


        let predicate = HKQuery.predicateForSamples(withStart: endDate, end: startDate, options: [])
        print(startDate)
        print(endDate!)
        //descriptor
        let sortDescriptors = [
            NSSortDescriptor(key: HKSampleSortIdentifierEndDate, ascending: false)
        ]

        let heartRateQuery = HKSampleQuery(sampleType: heartRateType,
                                       predicate: predicate,
                                       limit: Int(HKObjectQueryNoLimit),
                                       sortDescriptors: sortDescriptors)
        { (query:HKSampleQuery, results:[HKSample]?, error:Error?) -> Void in

            guard error == nil else { print("error"); return }
            print("results")
            print(results!)

            for result in results! {
                guard let currData:HKQuantitySample = result as? HKQuantitySample else { return }

                ... do work
            }

        }  //eo-query
        healthStore.execute(heartRateQuery)

    }//eom
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...