Swift 测量特定事件的心率

Swift 测量特定事件的心率,swift,apple-watch,healthkit,hkhealthstore,Swift,Apple Watch,Healthkit,Hkhealthstore,我正在为我的Apple Watch编写一个跑步锻炼应用程序,在1公里后,该应用程序会测量心率并将其与特定值进行比较。之后,如果心率过高,将显示警报 我的问题: 有可能在我的大脑中的特定点测量心率吗 应用程序并将其与特定值进行比较 可能吗 没有从Healthkit流式传输心率 您可以监控距离更新,并在用户到达1公里时使用获取最后一次心率测量值 let healthStore = HKHealthStore() let heartrate = HKQuantityType.quantityType

我正在为我的Apple Watch编写一个跑步锻炼应用程序,在1公里后,该应用程序会测量心率并将其与特定值进行比较。之后,如果心率过高,将显示警报

我的问题:

  • 有可能在我的大脑中的特定点测量心率吗 应用程序并将其与特定值进行比较
  • 可能吗 没有从Healthkit流式传输心率

您可以监控距离更新,并在用户到达1公里时使用获取最后一次心率测量值

let healthStore = HKHealthStore()
let heartrate = HKQuantityType.quantityType(forIdentifier:HKQuantityTypeIdentifier.heartRate)
let sort = [
    NSSortDescriptor(key: HKSampleSortIdentifierStartDate, ascending: false)
]
let heartRateUnit = HKUnit(from: "count/min")

let sampleQuery = HKSampleQuery(sampleType: heartrate!, predicate: nil, limit: 1, sortDescriptors: sort, resultsHandler: {
    query, results, error in
    if let results = results as? [HKQuantitySample]
    {
        let sample = results[0] as HKQuantitySample
        let value = sample.quantity.doubleValue(for: heartRateUnit)
        print (value)

        let rate = results[0]
        print(rate)
    }
})

healthStore.execute(sampleQuery)