簡體   English   中英

Swift HealthKit觸發心率樣本

[英]Swift HealthKit Trigger Heart Rate Sample

我可以使用以下代碼在一段時間(鍛煉時間)內從HealthKit讀取平均心率數據。

但是,當我在Apple Health應用程序中查看時,它表明從Apple Watch采集的心率樣本很少(每15-30分鍾一次)。 這使我在此期間的平均HR讀數非常不准確。

如何觸發HealthKit從手表采樣(收集)心率數據並將其寫入HealthKit?

    let endDate = (calendar as NSCalendar).date(byAdding: NSCalendar.Unit.minute, value: duration, to: startDate, options: NSCalendar.Options())
    let predicate = HKQuery.predicateForSamples(withStart: startDate, end: endDate, options: HKQueryOptions())

    let squery = HKStatisticsQuery(quantityType: heartRateType, quantitySamplePredicate: predicate, options: HKStatisticsOptions.discreteAverage, completionHandler: { (qurt, result, errval) -> Void in

        guard errval == nil else { print("error"); completion(0.0, errval); return }

        var averageHeartRate : Double = 0.0
        if (result != nil && result!.averageQuantity() != nil) {
            let quantity : HKQuantity = result!.averageQuantity()!
            averageHeartRate = quantity.doubleValue(for: HKUnit.count().unitDivided(by: HKUnit.minute()))
        }
    })

要從Apple Watch獲得更頻繁的心率數據,用戶必須在其手表上運行正在跟蹤HKWorkoutSession的應用程序。 如果您的應用程序具有配對的watchOS應用程序來跟蹤鍛煉,則可以使用startWatchApp(with trainingConfiguration:completion :)從iPhone開始鍛煉。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM