@artursk

Как передать параметры в HealthKit?

Подскажите...Разрешение на запись данных для HealthKit подключил, саму функцию сохранения с параметрами начала,окончания тренировки и калорий тож создал

import Foundation
import HealthKit

class HealthKitManager {

let healthKitStore: HKHealthStore = HKHealthStore()

//SAVE WORKOUT FOR HEALTH KIT
func saveWorkoutForHealth(startDate:NSDate , endDate:NSDate , kiloCalories:Double,
                          completion: ( (Bool, NSError!) -> Void)!) {
    // 1. Create quantities for the energy burned
    let caloriesQuantity = HKQuantity(unit: HKUnit.kilocalorieUnit(), doubleValue: kiloCalories)

    // 2. Save Workout
    let workout = HKWorkout(activityType: HKWorkoutActivityType.Yoga, startDate: startDate, endDate: endDate, duration: endDate.timeIntervalSinceDate(startDate), totalEnergyBurned: caloriesQuantity, totalDistance: nil, metadata: nil)

    healthKitStore.saveObject(workout, withCompletion: { (success, error) -> Void in
        if( error != nil  ) {
            // Error saving the workout
            completion(success,error)
        }
        else {
            // Workout saved
            let caloriesSample = HKQuantitySample(type: HKQuantityType.quantityTypeForIdentifier(HKQuantityTypeIdentifierActiveEnergyBurned)!, quantity: caloriesQuantity, startDate: startDate, endDate: endDate)

            self.healthKitStore.addSamples([caloriesSample], toWorkout: workout, completion: { (success, error ) -> Void in
                completion(success, error)
            })

        }
    })
}
}

Получение разрешения в др месте, при вкл кнопки. Как теперь привязать startDate и endDate к моему таймеру, чтобы например по нажатию на старт фиксировалась startDate и по нажатию на стоп endDate? И как правильно по итогу передать в HealthKit полученные данные по нажатию на кнопку?
let healthManager:HealthKitManager = HealthKitManager()
@IBAction func share(sender: AnyObject) {
    healthManager.saveWorkoutForHealth( //КАК ПРАВИЛЬНО ВПИСАТЬ ПАРАМЕТРЫ?)
}
  • Вопрос задан
  • 120 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы