Подскажите...Разрешение на запись данных для 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( //КАК ПРАВИЛЬНО ВПИСАТЬ ПАРАМЕТРЫ?)
}