2016-10-21 2 views
0

В моем проекте используется HealthKit, и я хотел бы объявить HKWorkoutSession в одном из моих классов. Я сделал импортировать <HealthKit/HealthKit.h>, и я попытался объявить его как это:HKWorkoutSession недоступно

@property (nonatomic) HKWorkoutSession *session; 

в файле .h. Тем не менее, я получил сообщение об ошибке на этой линии:

«HKWorkoutSessionDelegate» недоступно: не доступно на прошивке

Я также попытался импортировать <HealthKit/HKWorkoutSession.h> и <HealthKit/HKWorkout.h>, но ни один из них не работают.

Обратите внимание, что доступны все другие классы в HealthKit (например, HKHealthStore, HKQuery и т. Д.). Единственное, что я нашел недоступным, - HKWorkoutSession и HKWorkoutSessionDelegate.

ответ

1

HKWorkoutSession можно приобрести только на watchOS. Вам нужно избегать использования его в коде, который компилируется для iOS.

0

Зачем вам нужно получить доступ к HKWorkoutSession с телефона? Класс используется watchOS для настройки часов для точного измерения данных активности пользователя.

Если вы пытаетесь начать новую сессию тренировки вы можете сделать это с телефона, как это:

let healthStore = HKHealthStore() 

var workoutConfiguration = HKWorkoutConfiguration() 
workoutConfiguration.activityType = .running 
workoutConfiguration.locationType = .outdoor 

healthStore.startWatchApp(with: workoutConfiguration) { (success, error) in 
//Some code here 
} 
Смежные вопросы