Kod başlatmak veya egzersiz oturumunu durdurmak nasıl.
let healthStore = HKHealthStore()
healthStore.startWorkoutSession(workoutSession) {
(result: Bool, error: NSError?) -> Void in
}
healthStore.stopWorkoutSession(workoutSession) {
(result: Bool, error: NSError?) -> Void in
}
Oturum durumunu bildiren HKWorkoutSessionDelegate vardır.
protocol HKWorkoutSessionDelegate : NSObjectProtocol {
func workoutSession(workoutSession: HKWorkoutSession,
didChangeToState toState: HKWorkoutSessionState,
fromState: HKWorkoutSessionState, date: NSDate)
func workoutSession(workoutSession: HKWorkoutSession,
didFailWithError error: NSError)
}
[Düzenlendi] 2015/08/31
objc versiyonu
HKWorkoutSession *workoutSession = [[HKWorkoutSession alloc] initWithActivityType:HKWorkoutActivityTypeRunning locationType:HKWorkoutSessionLocationTypeOutdoor];
workoutSession.delegate = self;
HKHealthStore *healthStore = [HKHealthStore new];
[healthStore startWorkoutSession:workoutSession];
[healthStore stopWorkoutSession:workoutSession];
HKWrokoutSessionDelegate
- (void)workoutSession:(HKWorkoutSession *)workoutSession
didChangeToState:(HKWorkoutSessionState)toState
fromState:(HKWorkoutSessionState)fromState
date:(NSDate *)date;
- (void)workoutSession:(HKWorkoutSession *)workoutSession didFailWithError:(NSError *)error;
Dikkat: son sürümü ile yöntem adının bir değişiklik yoktur, OS 2 beta 5'i izleyin.
stopWorkoutSession endWorkoutSession olarak değiştirildi.
Daha spesifik olmak gerekirse, saatimi eğdiğimde, ekran kapanacak, program askıya alınacak. Geri eğildiğinde, ekran açılır, bu zaman noktasında HKworkout oturumu ilk önce ".Ended" olarak değişir ve sonra ".Running" olarak değişir. Bunu nasıl engellemek ve her zaman oturumu sürdürmek ".Running" – user3781258
Apple'a bildirmeniz gereken bir HealthKit hatası gibi görünüyor. – Allan
@ user3781258 Bu konuyla ilgili herhangi bir gelişme var mı? – Philip