【问题标题】:HealthKit Workout dataHealthKit 锻炼数据
【发布时间】:2020-05-16 10:08:32
【问题描述】:

我编写了这个函数来获取锻炼期间的摄氏度值。如何获取锻炼名称/心跳等?

func getWorkoutWeather(workout: HKWorkout) -> Double {
    if let metadata = workout.metadata {
    if let  mataTemperature = metadata[HKMetadataKeyWeatherTemperature] {
        if let quantityTemperature = mataTemperature as? HKQuantity {
            let celsius = quantityTemperature.doubleValue(for: HKUnit.degreeCelsius())
            print(celsius)
            return celsius
        }
    }
}

【问题讨论】:

    标签: swift xcode healthkit


    【解决方案1】:

    我们需要为与锻炼相关的每种数据类型创建一个单独的查询。例如,要获取之前创建的锻炼的完整详细信息,我们需要单独查询距离、消耗的能量和心率等。

    查询以获取Heart rate

    class func loadheartRateWorkouts(completion:
             @escaping ([HKWorkout]?, Error?) -> Void) {
        guard let heartRateType =
            HKObjectType.quantityType(forIdentifier:
                HKQuantityTypeIdentifier.heartRate) else {
                    fatalError("*** Unable to create a Heart rate type ***")
        }
            // Get all workouts that only came from this app.
        let workoutPredicate = HKQuery.predicateForObjects(from: .default())
    
        let startDateSort = NSSortDescriptor(key: HKSampleSortIdentifierStartDate, ascending: true)
    
        let query = HKSampleQuery(sampleType: heartRateType,
                                  predicate: workoutPredicate,
                                  limit: 0,
                                  sortDescriptors: [startDateSort]) { (sampleQuery, results, error) -> Void in
                                    guard let heartRateSamples = results as? [HKQuantitySample] else {
                                        // Perform proper error handling here.
                                        return
                                    }
    
                                    // Use the workout's Heart rate samples here.
        }
    
        HKHealthStore().execute(query)
    
        }
    

    参考:Fetching samples from the Workout

    【讨论】:

      猜你喜欢
      • 2021-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多