Отображение последнего сердечного ритма, сохраненного в Healthkit, с помощью swift

Я создаю приложение в Swift для приложения IOS. Я просто хочу отобразить последнюю сохраненную частоту сердечных сокращений Healthkit. Может ли кто-нибудь помочь мне здесь?

мой запрос авторизации:

static func authorizeHealthKit() {

let HeartRateData: Set = [
    HKObjectType.quantityType(forIdentifier: HKQuantityTypeIdentifier.heartRate)!,
    ]
HealthStore.requestAuthorization(toShare: HeartRateData, read: HeartRateData) {_,_ in }

}

    @IBAction func authorizeTapped(_ sender: AnyObject) {
        HeartrateViewController.authorizeHealthKit()
    }

получить частоту сердечных сокращений:

func fetchHeartRateWithCompletionHandler (_ completionHandler: @escaping (Double?, NSError?)-> ()) {

    let now = Date()
    let startDate = now
    let endDate = now

let HeartRateSampleType = HKQuantityType.quantityType(forIdentifier: HKQuantityTypeIdentifier.heartRate)
let predicate = HKQuery.predicateForSamples(withStart: startDate, end: endDate, options: .strictStartDate)

let HeartRate = HKStatisticsQuery(quantityType: HeartRateSampleType!, quantitySamplePredicate: predicate, options: .cumulativeSum)
{ query, result, error in
    if result != nil {
        completionHandler(nil, error as NSError?)
        return
    }

    var HeartRateData = 0.0

    if let quantitiy = result!.sumQuantity() {
        let heartRateUnit = HKUnit(from: "count/min")
        HeartRateData = quantitiy.doubleValue(for: heartRateUnit)
    }

    completionHandler(HeartRateData, error as NSError?)

    }
    HeartRateTextField.text = String (describing: HeartRate)



}

но он ничего не отображает в текстовом поле сердечного ритма.


person android.beginner    schedule 15.12.2016    source источник
comment
По крайней мере, попробуйте написать код и провести небольшое исследование самостоятельно. Что вы искали? Что вы пробовали? С какими проблемами вы сталкиваетесь?   -  person Damien    schedule 15.12.2016
comment
Обратитесь к этому сообщению. Это должно помочь   -  person Md. Ibrahim Hassan    schedule 15.12.2016
comment
Я добавил свой код в свой вопрос   -  person android.beginner    schedule 15.12.2016


Ответы (1)


Вы выполняете запрос?

Кроме того, запрос, который вы создаете, не очень эффективен. Дата начала и дата окончания совпадают, и предикат не найдет выборку HeartRate между ними. Если вы ищете самую последнюю выборку частоты сердечных сокращений, прочтите о anchoredObjectQuery.

person Akshay Yadav    schedule 03.01.2017