Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Ссылка платформы HealthKit ссылка класса HKWorkout

Опции
Развертывание Target:

На этой странице
Язык:

HKWorkout

Наследование


Оператор импорта


Swift

import HealthKit

Objective C

@import HealthKit;

Доступность


Доступный в iOS 8.0 и позже.

HKWorkout класс является конкретным подклассом HKSample класс. HealthKit использует проверки для отслеживания широкого диапазона действий. Объект проверки не только хранит сводную информацию о действии (например, продолжительность, общее расстояние и записанная полная энергия), это также действует как контейнер для других выборок. Можно связать любое число выборок с проверкой. Таким образом можно добавить подробную информацию, относящуюся к проверке.

Проверки являются главным образом неизменными. Их свойства установлены, когда проверки инстанцируют, и они не могут измениться. Однако можно продолжать добавлять выборки к проверкам.

Добавление выборок к проверке

Можно связать выборки с проверкой с помощью хранилища HealthKit addSamples:toWorkout:completion: метод. Проверка должна быть сохранена к хранилищу HealthKit, прежде чем можно будет добавить любые выборки. Выборки не должны быть сохранены. Добавление их к проверке автоматически сохраняет их (если они уже не были сохранены).

Swift

  • // This sample uses hard-coded values and performs all the operations inline
  • // for simplicity's sake. A real-world app would calculate these values
  • // from sensor data and break the operation up using helper methods.
  • let energyBurned = HKQuantity(unit: HKUnit.kilocalorieUnit(),
  • doubleValue: 425.0)
  • let distance = HKQuantity(unit: HKUnit.mileUnit(),
  • doubleValue: 3.2)
  • // Provide summary information when creating the workout.
  • let run = HKWorkout(activityType: HKWorkoutActivityType.Running,
  • startDate: start, endDate: end, duration: 0,
  • totalEnergyBurned: energyBurned, totalDistance: distance, metadata: nil)
  • // Save the workout before adding detailed samples.
  • healthStore.saveObject(run) { (success, error) -> Void in
  • if !success {
  • // Perform proper error handling here...
  • println("*** An error occurred while saving the " +
  • "workout: \(error.localizedDescription)")
  • abort()
  • }
  • // Add optional, detailed information for each time interval
  • var samples: [HKQuantitySample] = []
  • let distanceType =
  • HKObjectType.quantityTypeForIdentifier(
  • HKQuantityTypeIdentifierDistanceWalkingRunning)
  • let distancePerInterval = HKQuantity(unit: HKUnit.footUnit(),
  • doubleValue: 165.0)
  • let distancePerIntervalSample =
  • HKQuantitySample(type: distanceType, quantity: distancePerInterval,
  • startDate: intervals[0], endDate: intervals[1])
  • samples.append(distancePerIntervalSample)
  • let energyBurnedType =
  • HKObjectType.quantityTypeForIdentifier(
  • HKQuantityTypeIdentifierActiveEnergyBurned)
  • let energyBurnedPerInterval = HKQuantity(unit: HKUnit.kilocalorieUnit(),
  • doubleValue: 15.5)
  • let energyBurnedPerIntervalSample =
  • HKQuantitySample(type: energyBurnedType, quantity: energyBurnedPerInterval,
  • startDate: intervals[0], endDate: intervals[1])
  • samples.append(energyBurnedPerIntervalSample)
  • let heartRateType =
  • HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierHeartRate)
  • let heartRateForInterval = HKQuantity(unit: HKUnit(fromString: "count/min"),
  • doubleValue: 95.0)
  • let heartRateForIntervalSample =
  • HKQuantitySample(type: heartRateType, quantity: heartRateForInterval,
  • startDate: intervals[0], endDate: intervals[1])
  • samples.append(heartRateForIntervalSample)
  • // Continue adding detailed samples...
  • // Add all the samples to the workout.
  • self.healthStore.addSamples(samples,
  • toWorkout: run) { (success, error) -> Void in
  • if !success {
  • // Perform proper error handling here...
  • println("*** An error occurred while adding a " +
  • "sample to the workout: \(error.localizedDescription)")
  • abort()
  • }
  • }
  • }

Objective C

  • // This sample uses hard-coded values and performs all the operations inline
  • // for simplicity's sake. A real-world app would calculate these values
  • // from sensor data and break the operation up using helper methods.
  • HKQuantity *energyBurned =
  • [HKQuantity quantityWithUnit:[HKUnit kilocalorieUnit]
  • doubleValue:425.0];
  • HKQuantity *distance =
  • [HKQuantity quantityWithUnit:[HKUnit mileUnit]
  • doubleValue:3.2];
  • // Provide summary information when creating the workout.
  • HKWorkout *run = [HKWorkout workoutWithActivityType:HKWorkoutActivityTypeRunning
  • startDate:start
  • endDate:end
  • duration:0
  • totalEnergyBurned:energyBurned
  • totalDistance:distance
  • metadata:nil];
  • // Save the workout before adding detailed samples.
  • [self.healthStore saveObject:run withCompletion:^(BOOL success, NSError *error) {
  • if (!success) {
  • // Perform proper error handling here...
  • NSLog(@"*** An error occurred while saving the "
  • @"workout: %@ ***", error.localizedDescription);
  • abort();
  • }
  • // Add optional, detailed information for each time interval
  • NSMutableArray *samples = [NSMutableArray array];
  • HKQuantityType *distanceType =
  • [HKObjectType quantityTypeForIdentifier:
  • HKQuantityTypeIdentifierDistanceWalkingRunning];
  • HKQuantity *distancePerInterval =
  • [HKQuantity quantityWithUnit:[HKUnit mileUnit]
  • doubleValue:3.2];
  • HKQuantitySample *distancePerIntervalSample =
  • [HKQuantitySample quantitySampleWithType:distanceType
  • quantity:distancePerInterval
  • startDate:intervals[0]
  • endDate:intervals[1]];
  • [samples addObject:distancePerIntervalSample];
  • HKQuantityType *energyBurnedType =
  • [HKObjectType quantityTypeForIdentifier:
  • HKQuantityTypeIdentifierActiveEnergyBurned];
  • HKQuantity *energyBurnedPerInterval =
  • [HKQuantity quantityWithUnit:[HKUnit kilocalorieUnit]
  • doubleValue:15.5];
  • HKQuantitySample *energyBurnedPerIntervalSample =
  • [HKQuantitySample quantitySampleWithType:energyBurnedType
  • quantity:energyBurnedPerInterval
  • startDate:intervals[0]
  • endDate:intervals[1]];
  • [samples addObject:energyBurnedPerIntervalSample];
  • HKQuantityType *heartRateType =
  • [HKObjectType quantityTypeForIdentifier:HKQuantityTypeIdentifierHeartRate];
  • HKQuantity *heartRateForInterval =
  • [HKQuantity quantityWithUnit:[HKUnit unitFromString:@"count/min"]
  • doubleValue:95.0];
  • HKQuantitySample *heartRateForIntervalSample =
  • [HKQuantitySample quantitySampleWithType:heartRateType
  • quantity:heartRateForInterval
  • startDate:intervals[0]
  • endDate:intervals[1]];
  • [samples addObject:heartRateForIntervalSample];
  • // Continue adding additional samples here...
  • // Add all the samples to the workout.
  • [self.healthStore
  • addSamples:samples
  • toWorkout:run
  • completion:^(BOOL success, NSError *error) {
  • if (!success) {
  • // Perform proper error handling here...
  • NSLog(@"*** An error occurred while adding a "
  • @"sample to the workout: %@ ***",
  • error.localizedDescription);
  • abort();
  • }
  • }];
  • }];

Можно создать запрос, возвращающий только выборки, связанные с проверкой путем добавления проверки к предикату запроса. predicateForObjectsFromWorkout: метод создает объект предиката, соответствующий только выборки, связанные с предоставленной проверкой.

Swift

  • let distanceType =
  • HKObjectType.quantityTypeForIdentifier(
  • HKQuantityTypeIdentifierDistanceWalkingRunning)
  • let workoutPredicate =
  • HKQuery.predicateForObjectsFromWorkout(workout)
  • let startDateSort =
  • NSSortDescriptor(key: HKSampleSortIdentifierStartDate, ascending: true)
  • let query = HKSampleQuery(sampleType: distanceType, predicate: workoutPredicate,
  • limit: 0, sortDescriptors: [startDateSort]) {
  • (sampleQuery, results, error) -> Void in
  • if let distanceSamples = results as? [HKQuantitySample] {
  • // process the detailed samples...
  • self.processDetailedDistanceSamples(distanceSamples,
  • forWorkout: self.workout)
  • }
  • else {
  • // Perform proper error handling here...
  • println("*** An error occurred while adding a sample to " +
  • "the workout: \(error.localizedDescription)")
  • abort()
  • }
  • }
  • healthStore.executeQuery(query)

Objective C

  • HKQuantityType *distanceType =
  • [HKObjectType quantityTypeForIdentifier:
  • HKQuantityTypeIdentifierDistanceWalkingRunning];
  • NSPredicate *workoutPredicate =
  • [HKQuery predicateForObjectsFromWorkout:self.workout];
  • NSSortDescriptor *startDateSort =
  • [NSSortDescriptor sortDescriptorWithKey:HKSampleSortIdentifierStartDate
  • ascending:YES];
  • HKSampleQuery *query =
  • [[HKSampleQuery alloc]
  • initWithSampleType:distanceType
  • predicate:workoutPredicate
  • limit:0
  • sortDescriptors:@[startDateSort]
  • resultsHandler:^(HKSampleQuery *query, NSArray *results, NSError *error) {
  • if (results == nil) {
  • // Perform proper error handling here...
  • NSLog(@"*** An error occurred while adding a sample to "
  • @"the workout: %@ ***",
  • error.localizedDescription);
  • abort();
  • }
  • // process the detailed samples...
  • [self processDetailedDistanceSamples:results
  • forWorkout:self.workout];
  • }];
  • [self.healthStore executeQuery:query];

Добавление выборок к проверке не изменяет ни одного из свойств проверки. В частности добавление выборок расстояния не изменит количество, сохраненное в totalDistance, startDate, endDate или duration свойства. Аналогично, добавление активной энергии горело, выборки не изменят количество, сохраненное в totalEnergyBurned свойство. Это может привести к некоторому дублированию в данных между свойствами проверки и связанными выборками.

В целом Ваше приложение должно всегда предоставлять данные для проверки duration, totalDistance, и totalEnergyBurned свойства, когда данные и доступны и относятся к проверке. Кроме того, можно предоставить тонкозернистую информацию путем соединения выборок с проверкой. Эти выборки могут предоставить дополнительную информацию о том, как интенсивность осуществления изменилась в течение проверки.

Например, вообразите приложение, отслеживающее выполнения пользователя. Каждый раз, когда пользователь заканчивает выполнение, приложение создает проверку, включающую общее расстояние, продолжительность и калории, записанные для всего выполнения. Приложение также сохраняет выборки, описывающие расстояние, записанные калории, количество шага, сердечный ритм, рейсы поднялись и другие данные по намного меньшим временным интервалам.

Необходимо точно настроить точную продолжительность связанных выборок на основе типа проверки и потребностей приложения. Используя 5-минутные интервалы минимизирует объем памяти, должен был сохранить проверки, все еще обеспечивая общий смысл изменения в интенсивности в течение длинной проверки. Используя 5-секундные интервалы обеспечивает очень подробное представление проверки, но требует значительно большего количества памяти и обработки.

Разделение на подклассы примечаний

Как много классов HealthKit, HKWorkout класс не должен быть разделен на подклассы.

Можно расширить проверки путем добавления метаданных с пользовательскими ключами как подходящих для приложения. Для получения дополнительной информации посмотрите методы workoutWithActivityType:startDate:endDate:duration:totalEnergyBurned:totalDistance:metadata: и workoutWithActivityType:startDate:endDate:workoutEvents:totalEnergyBurned:totalDistance:metadata:.

  • Инстанцирует и возвращает новое действие проверки.

    Объявление

    Swift

    convenience init!(activityType workoutActivityType: HKWorkoutActivityType, startDate startDate: NSDate!, endDate endDate: NSDate!)

    Objective C

    + (instancetype)workoutWithActivityType:(HKWorkoutActivityType)workoutActivityType startDate:(NSDate *)startDate endDate:(NSDate *)endDate

    Параметры

    workoutActivityType

    Тип действия, выполняемого во время проверки. Для списка возможных типов действия посмотрите HKWorkoutActivityType.

    startDate

    Дата и время, когда запустилось действие.

    endDate

    Дата и время, когда закончилось действие. Эта дата должна быть равна или позже, чем дата начала.

    Возвращаемое значение

    Действие проверки.

    Обсуждение

    Продолжительность проверки вычисляется от ее запуска и время окончания. Общее расстояние проверки, полная энергия горела, события проверки, и метаданные все установлены в nil.

    Swift

    • let basketball = HKWorkout(activityType:HKWorkoutActivityType.Basketball,
    • startDate: start, endDate: end)
    • healthStore.saveObject(basketball) { (success, error) -> Void in
    • // Perform proper error handling here...
    • println("*** An error occurred while saving this " +
    • "workout: \(error.localizedDescription)")
    • abort()
    • }

    Objective C

    • HKWorkout *basketball =
    • [HKWorkout workoutWithActivityType:HKWorkoutActivityTypeBasketball
    • startDate:start
    • endDate:end];
    • [self.healthStore
    • saveObject:basketball
    • withCompletion:^(BOOL success, NSError *error) {
    • // Perform proper error handling here...
    • NSLog(@"*** An error occurred while saving this "
    • @"workout: %@ ***", error.localizedDescription);
    • }];

    Оператор импорта

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • Инстанцирует и возвращает новое действие проверки, включающее полную энергию записанное, общее расстояние и метаданные для проверки.

    Объявление

    Swift

    convenience init!(activityType workoutActivityType: HKWorkoutActivityType, startDate startDate: NSDate!, endDate endDate: NSDate!, duration duration: NSTimeInterval, totalEnergyBurned totalEnergyBurned: HKQuantity!, totalDistance totalDistance: HKQuantity!, metadata metadata: [NSObject : AnyObject]!)

    Objective C

    + (instancetype)workoutWithActivityType:(HKWorkoutActivityType)workoutActivityType startDate:(NSDate *)startDate endDate:(NSDate *)endDate duration:(NSTimeInterval)duration totalEnergyBurned:(HKQuantity *)totalEnergyBurned totalDistance:(HKQuantity *)totalDistance metadata:(NSDictionary *)metadata

    Параметры

    workoutActivityType

    Тип действия выполняется во время проверки. Для полного списка типов действия посмотрите HKWorkoutActivityType.

    startDate

    Дата и время, когда запустилось действие.

    endDate

    Дата и время, когда закончилось действие. Эта дата должна быть равна или позже, чем дата начала.

    duration

    Временной интервал, представляющий фактическую продолжительность проверки. Передача ненулевого значения устанавливает проверку duration свойство. Если Вы передаете 0, этот метод вычисляет duration свойство на основе запуска проверки и даты окончания.

    totalEnergyBurned

    Количество с помощью энергетических модулей, или nil. Это наборы свойств проверка totalEnergyBurned свойство.

    totalDistance

    Количество с помощью модулей длины, или nil. Это наборы свойств проверка totalDistance свойство.

    metadata

    Словарь метаданных содержит дополнительную информацию, описывающую эту проверку. Ключи словаря - все NSString объекты. Значения могут быть NSString, NSNumber, или NSDate объекты. Для полного списка предопределенных ключей метаданных посмотрите Ключи Метаданных.

    Используя предопределенные ключи помогает упростить совместное использование данных между приложениями; однако, Вы также призваны создать свои собственные, пользовательские ключи по мере необходимости для расширения возможностей проверки.

    Возвращаемое значение

    Объект проверки с предоставленной продолжительностью, полная энергия горела, общее расстояние и свойства метаданных. Свойство HKWorkout установлено в nil.

    Обсуждение

    Этот метод возвращает проверку с указанной продолжительностью, полная энергия записанное, общее расстояние и метаданные. workoutEventsсвойство установлено в nil.

    Swift

    • let distance = HKQuantity(unit: HKUnit.mileUnit(), doubleValue: 5.2)
    • let energyBurned = HKQuantity(unit: HKUnit.kilocalorieUnit(), doubleValue: 259.0)
    • let metadata = [HKMetadataKeyIndoorWorkout:false]
    • let hike = HKWorkout(activityType: HKWorkoutActivityType.Hiking,
    • startDate: start, endDate: end, duration: 9000,
    • totalEnergyBurned: energyBurned, totalDistance: distance, metadata: metadata)
    • healthStore.saveObject(hike) { (success, error) -> Void in
    • // Perform proper error handling here...
    • println("*** An error occurred while saving this " +
    • "workout: \(error.localizedDescription)")
    • abort()
    • }

    Objective C

    • HKQuantity *distance = [HKQuantity quantityWithUnit:[HKUnit mileUnit]
    • doubleValue:5.2];
    • HKQuantity *energyBurned = [HKQuantity quantityWithUnit:[HKUnit kilocalorieUnit]
    • doubleValue:259.0];
    • NSDictionary *metadata = @{HKMetadataKeyIndoorWorkout: @(NO)};
    • HKWorkout *hike = [HKWorkout workoutWithActivityType:HKWorkoutActivityTypeHiking
    • startDate:start
    • endDate:end
    • duration:9000
    • totalEnergyBurned:energyBurned
    • totalDistance:distance
    • metadata:metadata];
    • [self.healthStore
    • saveObject:hike
    • withCompletion:^(BOOL success, NSError *error) {
    • // Perform proper error handling here...
    • NSLog(@"*** An error occurred while saving this "
    • @"workout: %@ ***", error.localizedDescription);
    • }];

    Оператор импорта

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • Инстанцирует и возвращает проверку, продолжительность которой вычисляется на основе запуска и даты окончания и предоставленные события проверки. Этот метод также указывает общее расстояние, полную энергию и свойства метаданных.

    Объявление

    Swift

    convenience init!(activityType workoutActivityType: HKWorkoutActivityType, startDate startDate: NSDate!, endDate endDate: NSDate!, workoutEvents workoutEvents: [AnyObject]!, totalEnergyBurned totalEnergyBurned: HKQuantity!, totalDistance totalDistance: HKQuantity!, metadata metadata: [NSObject : AnyObject]!)

    Objective C

    + (instancetype)workoutWithActivityType:(HKWorkoutActivityType)workoutActivityType startDate:(NSDate *)startDate endDate:(NSDate *)endDate workoutEvents:(NSArray *)workoutEvents totalEnergyBurned:(HKQuantity *)totalEnergyBurned totalDistance:(HKQuantity *)totalDistance metadata:(NSDictionary *)metadata

    Параметры

    workoutActivityType

    Тип действия выполняется во время проверки. Для полного списка типов действия посмотрите HKWorkoutActivityType.

    startDate

    Дата и время, когда запустилось действие.

    endDate

    Дата и время, когда закончилось действие. Эта дата должна быть равна или позже, чем дата начала.

    workoutEvents

    Массив объектов-событий проверки. Когда пользователь приостановил и возобновил действие проверки, этот массив указывает. Этот метод вычисляет продолжительность проверки на основе общей суммы активного времени между предоставленным запуском и даты окончания.

    totalEnergyBurned

    Количество с помощью энергетических модулей, или nil. Это наборы свойств проверка totalEnergyBurned свойство.

    totalDistance

    Количество с помощью модулей длины, или nil. Это наборы свойств проверка totalDistance свойство.

    metadata

    Словарь метаданных содержит дополнительную информацию, описывающую эту проверку. Ключи словаря - все NSString объекты. Значения могут быть NSString, NSNumber, или NSDate объекты. Для полного списка предопределенных ключей метаданных посмотрите Ключи Метаданных.

    Используя предопределенные ключи помогает упростить совместное использование данных между приложениями; однако, Вы также призваны создать свои собственные, пользовательские ключи по мере необходимости для расширения возможностей выборки количества HealthKit.

    Возвращаемое значение

    Объект проверки с указанной продолжительностью, полная энергия горела, общее расстояние, метаданные и события проверки.

    Обсуждение

    Этот метод вычисляет продолжительность проверки на основе количества времени, которое это проводит в активном состоянии. Проверка запускается в активном состоянии. Событие паузы переключает его на неактивное состояние, и событие резюме переключает его назад на активное состояние. Для получения дополнительной информации о событиях проверки посмотрите Ссылку класса HKWorkoutEvent.

    Swift

    • let distance = HKQuantity(unit: HKUnit.mileUnit(), doubleValue: 2.3)
    • let energyBurned = HKQuantity(unit: HKUnit.kilocalorieUnit(), doubleValue: 356.0)
    • let metadata = [HKMetadataKeyIndoorWorkout:false]
    • let pause = HKWorkoutEvent(type: HKWorkoutEventType.Pause, date: pauseStart)
    • let resume = HKWorkoutEvent(type: HKWorkoutEventType.Resume, date: pauseEnd)
    • let kayaking = HKWorkout(activityType: HKWorkoutActivityType.PaddleSports,
    • startDate: start, endDate: end, workoutEvents: [pause, resume],
    • totalEnergyBurned: energyBurned, totalDistance: distance, metadata: metadata)
    • healthStore.saveObject(kayaking) { (success, error) -> Void in
    • // Perform proper error handling here...
    • println("*** An error occurred while saving this " +
    • "workout: \(error.localizedDescription)")
    • abort()
    • }

    Objective C

    • HKQuantity *distance = [HKQuantity quantityWithUnit:[HKUnit mileUnit]
    • doubleValue:5.2];
    • HKQuantity *energyBurned = [HKQuantity quantityWithUnit:[HKUnit kilocalorieUnit]
    • doubleValue:259.0];
    • NSDictionary *metadata = @{HKMetadataKeyIndoorWorkout: @(NO)};
    • HKWorkoutEvent *pause =
    • [HKWorkoutEvent workoutEventWithType:HKWorkoutEventTypePause
    • date:pauseStart];
    • HKWorkoutEvent *resume =
    • [HKWorkoutEvent workoutEventWithType:HKWorkoutEventTypeResume
    • date:pauseEnd];
    • HKWorkout *kayaking = [HKWorkout workoutWithActivityType:HKWorkoutActivityTypeHiking
    • startDate:start
    • endDate:end
    • workoutEvents:@[pause, resume]
    • totalEnergyBurned:energyBurned
    • totalDistance:distance
    • metadata:metadata];
    • [self.healthStore
    • saveObject:kayaking
    • withCompletion:^(BOOL success, NSError *error) {
    • // Perform proper error handling here...
    • NSLog(@"*** An error occurred while saving this "
    • @"workout: %@ ***", error.localizedDescription);
    • }];

    Оператор импорта

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • duration Свойство

    Продолжительность проверки. (только для чтения)

    Объявление

    Swift

    var duration: NSTimeInterval { get }

    Objective C

    @property(readonly, assign) NSTimeInterval duration

    Обсуждение

    Продолжительность проверки может быть указана одним из трех способов. workoutWithActivityType:startDate:endDate: метод использует временной интервал между предоставленным запуском и даты окончания. workoutWithActivityType:startDate:endDate:duration:totalEnergyBurned:totalDistance:metadata: метод устанавливает продолжительность в предоставленное значение. И workoutWithActivityType:startDate:endDate:workoutEvents:totalEnergyBurned:totalDistance:metadata: метод вычисляет общую активную продолжительность на основе запуска и даты окончания и события проверки.

    Оператор импорта

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • totalDistance Свойство

    Общее расстояние переместилось во время проверки. (только для чтения)

    Объявление

    Swift

    var totalDistance: HKQuantity! { get }

    Objective C

    @property(readonly, strong) HKQuantity *totalDistance

    Обсуждение

    Это свойство содержит количество с помощью модулей длины, или nil.

    Оператор импорта

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • totalEnergyBurned Свойство

    Полная энергия горела во время проверки. (только для чтения)

    Объявление

    Swift

    var totalEnergyBurned: HKQuantity! { get }

    Objective C

    @property(readonly, strong) HKQuantity *totalEnergyBurned

    Обсуждение

    Это свойство содержит количество с помощью энергетических модулей, или nil.

    Оператор импорта

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • workoutActivityType Свойство

    Тип действия выполняется во время проверки. (только для чтения)

    Объявление

    Swift

    var workoutActivityType: HKWorkoutActivityType { get }

    Objective C

    @property(readonly, assign) HKWorkoutActivityType workoutActivityType

    Обсуждение

    Для полного списка типов действия посмотрите HKWorkoutActivityType.

    Оператор импорта

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • workoutEvents Свойство

    Массив объектов-событий проверки. (только для чтения)

    Объявление

    Swift

    var workoutEvents: [AnyObject]! { get }

    Objective C

    @property(readonly, copy) NSArray *workoutEvents

    Обсуждение

    Когда пользователь приостановил и возобновил действие проверки, этот массив указывает. Этот метод вычисляет продолжительность проверки на основе суммы активного времени между предоставленным запуском и даты окончания. Для получения дополнительной информации о событиях проверки посмотрите Ссылку класса HKWorkoutEvent.

    Оператор импорта

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • Константы, которые могут привыкнуть к проверкам вида.

    Объявление

    Swift

    let HKWorkoutSortIdentifierDuration: String let HKWorkoutSortIdentifierTotalDistance: String let HKWorkoutSortIdentifierTotalEnergyBurned: String

    Objective C

    NSString * const HKWorkoutSortIdentifierDuration; NSString * const HKWorkoutSortIdentifierTotalDistance; NSString * const HKWorkoutSortIdentifierTotalEnergyBurned;

    Константы

    • HKWorkoutSortIdentifierDuration

      Константа для сортировки проверок на основе их продолжительности.

      Доступный в iOS 8.0 и позже.

    • HKWorkoutSortIdentifierTotalDistance

      Константа для сортировки проверок на основе их общего расстояния.

      Доступный в iOS 8.0 и позже.

    • HKWorkoutSortIdentifierTotalEnergyBurned

      Константа для сортировки проверок на основе полной энергии горела.

      Доступный в iOS 8.0 и позже.

  • Константы, которые могут использоваться для создания строк формата предиката.

    Объявление

    Swift

    let HKPredicateKeyPathWorkoutDuration: String let HKPredicateKeyPathWorkoutTotalDistance: String let HKPredicateKeyPathWorkoutTotalEnergyBurned: String let HKPredicateKeyPathWorkoutType: String

    Objective C

    NSString * const HKPredicateKeyPathWorkoutDuration; NSString * const HKPredicateKeyPathWorkoutTotalDistance; NSString * const HKPredicateKeyPathWorkoutTotalEnergyBurned; NSString * const HKPredicateKeyPathWorkoutType;

    Константы

    • HKPredicateKeyPathWorkoutDuration

      Ключевой путь на время проверки.

      Доступный в iOS 8.0 и позже.

    • HKPredicateKeyPathWorkoutTotalDistance

      Ключевой путь для общего расстояния проверки.

      Доступный в iOS 8.0 и позже.

    • HKPredicateKeyPathWorkoutTotalEnergyBurned

      Ключевой путь для полной энергии проверки горел.

      Доступный в iOS 8.0 и позже.

    • HKPredicateKeyPathWorkoutType

      Ключевой путь для типа проверки.

      Доступный в iOS 8.0 и позже.

  • Тип действия выполняется во время проверки.

    Объявление

    Swift

    enum HKWorkoutActivityType : UInt { case AmericanFootball case Archery case AustralianFootball case Badminton case Baseball case Basketball case Bowling case Boxing case Climbing case Cricket case CrossTraining case Curling case Cycling case Dance case DanceInspiredTraining case Elliptical case EquestrianSports case Fencing case Fishing case FunctionalStrengthTraining case Golf case Gymnastics case Handball case Hiking case Hockey case Hunting case Lacrosse case MartialArts case MindAndBody case MixedMetabolicCardioTraining case PaddleSports case Play case PreparationAndRecovery case Racquetball case Rowing case Rugby case Running case Sailing case SkatingSports case SnowSports case Soccer case Softball case Squash case StairClimbing case SurfingSports case Swimming case TableTennis case Tennis case TrackAndField case TraditionalStrengthTraining case Volleyball case Walking case WaterFitness case WaterPolo case WaterSports case Wrestling case Yoga case Other }

    Objective C

    typedef enum : NSUInteger { HKWorkoutActivityTypeAmericanFootball = 1, HKWorkoutActivityTypeArchery, HKWorkoutActivityTypeAustralianFootball, HKWorkoutActivityTypeBadminton, HKWorkoutActivityTypeBaseball, HKWorkoutActivityTypeBasketball, HKWorkoutActivityTypeBowling, HKWorkoutActivityTypeBoxing, HKWorkoutActivityTypeClimbing, HKWorkoutActivityTypeCricket, HKWorkoutActivityTypeCrossTraining, HKWorkoutActivityTypeCurling, HKWorkoutActivityTypeCycling, HKWorkoutActivityTypeDance, HKWorkoutActivityTypeDanceInspiredTraining, HKWorkoutActivityTypeElliptical, HKWorkoutActivityTypeEquestrianSports, HKWorkoutActivityTypeFencing, HKWorkoutActivityTypeFishing, HKWorkoutActivityTypeFunctionalStrengthTraining, HKWorkoutActivityTypeGolf, HKWorkoutActivityTypeGymnastics, HKWorkoutActivityTypeHandball, HKWorkoutActivityTypeHiking, HKWorkoutActivityTypeHockey, HKWorkoutActivityTypeHunting, HKWorkoutActivityTypeLacrosse, HKWorkoutActivityTypeMartialArts, HKWorkoutActivityTypeMindAndBody, HKWorkoutActivityTypeMixedMetabolicCardioTraining, HKWorkoutActivityTypePaddleSports, HKWorkoutActivityTypePlay, HKWorkoutActivityTypePreparationAndRecovery, HKWorkoutActivityTypeRacquetball, HKWorkoutActivityTypeRowing, HKWorkoutActivityTypeRugby, HKWorkoutActivityTypeRunning, HKWorkoutActivityTypeSailing, HKWorkoutActivityTypeSkatingSports, HKWorkoutActivityTypeSnowSports, HKWorkoutActivityTypeSoccer, HKWorkoutActivityTypeSoftball, HKWorkoutActivityTypeSquash, HKWorkoutActivityTypeStairClimbing, HKWorkoutActivityTypeSurfingSports, HKWorkoutActivityTypeSwimming, HKWorkoutActivityTypeTableTennis, HKWorkoutActivityTypeTennis, HKWorkoutActivityTypeTrackAndField, HKWorkoutActivityTypeTraditionalStrengthTraining, HKWorkoutActivityTypeVolleyball, HKWorkoutActivityTypeWalking, HKWorkoutActivityTypeWaterFitness, HKWorkoutActivityTypeWaterPolo, HKWorkoutActivityTypeWaterSports, HKWorkoutActivityTypeWrestling, HKWorkoutActivityTypeYoga, HKWorkoutActivityTypeOther = 3000, } HKWorkoutActivityType;

    Константы

    • AmericanFootball

      HKWorkoutActivityTypeAmericanFootball

      Константа для игры американского футбола.

      Доступный в iOS 8.0 и позже.

    • Archery

      HKWorkoutActivityTypeArchery

      Константа для стрельбы в стрельбу из лука.

      Доступный в iOS 8.0 и позже.

    • AustralianFootball

      HKWorkoutActivityTypeAustralianFootball

      Константа для игры австралийского футбола.

      Доступный в iOS 8.0 и позже.

    • Badminton

      HKWorkoutActivityTypeBadminton

      Константа для игры бадминтона.

      Доступный в iOS 8.0 и позже.

    • Baseball

      HKWorkoutActivityTypeBaseball

      Константа для игры бейсбола.

      Доступный в iOS 8.0 и позже.

    • Basketball

      HKWorkoutActivityTypeBasketball

      Константа для игры баскетбола.

      Доступный в iOS 8.0 и позже.

    • Bowling

      HKWorkoutActivityTypeBowling

      Константа для боулинга

      Доступный в iOS 8.0 и позже.

    • Boxing

      HKWorkoutActivityTypeBoxing

      Константа для упаковки, включая кикбоксинг и связанные действия.

      Доступный в iOS 8.0 и позже.

    • Climbing

      HKWorkoutActivityTypeClimbing

      Константа для восхождения.

      Доступный в iOS 8.0 и позже.

    • Cricket

      HKWorkoutActivityTypeCricket

      Константа для игры крикета.

      Доступный в iOS 8.0 и позже.

    • CrossTraining

      HKWorkoutActivityTypeCrossTraining

      Константа для осуществления, включающего любую смесь cardio, силы и/или обучения гибкости.

      Доступный в iOS 8.0 и позже.

    • Curling

      HKWorkoutActivityTypeCurling

      Константа для завихрения.

      Доступный в iOS 8.0 и позже.

    • Cycling

      HKWorkoutActivityTypeCycling

      Константа для циклического повторения.

      Доступный в iOS 8.0 и позже.

    • Dance

      HKWorkoutActivityTypeDance

      Константа для танца.

      Доступный в iOS 8.0 и позже.

    • DanceInspiredTraining

      HKWorkoutActivityTypeDanceInspiredTraining

      Константа для проверок, вдохновленных танцем, включая пилатес, Барра и Фелденкрэйса.

      Доступный в iOS 8.0 и позже.

    • Elliptical

      HKWorkoutActivityTypeElliptical

      Константа для проверок на эллиптической машине.

      Доступный в iOS 8.0 и позже.

    • EquestrianSports

      HKWorkoutActivityTypeEquestrianSports

      Константа для действий, включающих ехать верхом, включая поло, скачки и верховую езду.

      Доступный в iOS 8.0 и позже.

    • Fencing

      HKWorkoutActivityTypeFencing

      Константа для ограничения.

      Доступный в iOS 8.0 и позже.

    • Fishing

      HKWorkoutActivityTypeFishing

      Константа для рыбалки.

      Доступный в iOS 8.0 и позже.

    • FunctionalStrengthTraining

      HKWorkoutActivityTypeFunctionalStrengthTraining

      Константа для силовой подготовки, прежде всего со свободными весами и массой тела.

      Доступный в iOS 8.0 и позже.

    • Golf

      HKWorkoutActivityTypeGolf

      Константа для того, чтобы сыграть в гольф.

      Доступный в iOS 8.0 и позже.

    • Gymnastics

      HKWorkoutActivityTypeGymnastics

      Выполнение гимнастики.

      Доступный в iOS 8.0 и позже.

    • Handball

      HKWorkoutActivityTypeHandball

      Игра гандбола.

      Доступный в iOS 8.0 и позже.

    • Hiking

      HKWorkoutActivityTypeHiking

      Константа для пешего туризма.

      Доступный в iOS 8.0 и позже.

    • Hockey

      HKWorkoutActivityTypeHockey

      Константа для игры хоккея, включая хоккей с шайбой, хоккей на траве и связанные спортивные состязания.

      Доступный в iOS 8.0 и позже.

    • Hunting

      HKWorkoutActivityTypeHunting

      Константа для поиска.

      Доступный в iOS 8.0 и позже.

    • Lacrosse

      HKWorkoutActivityTypeLacrosse

      Константа для игры лакросса.

      Доступный в iOS 8.0 и позже.

    • MartialArts

      HKWorkoutActivityTypeMartialArts

      Константа для осуществления боевых искусств.

      Доступный в iOS 8.0 и позже.

    • MindAndBody

      HKWorkoutActivityTypeMindAndBody

      Константа для выполнения действий как тайцзи или размышления.

      Доступный в iOS 8.0 и позже.

    • MixedMetabolicCardioTraining

      HKWorkoutActivityTypeMixedMetabolicCardioTraining

      Константа для выполнения любого соединения cardio-фокусируемых упражнений.

      Доступный в iOS 8.0 и позже.

    • PaddleSports

      HKWorkoutActivityTypePaddleSports

      Константа для гребли на каное, каякинга, плывя на аутригере, плывя на стоячей плате весла и связанных спортивных состязаниях.

      Доступный в iOS 8.0 и позже.

    • Play

      HKWorkoutActivityTypePlay

      Константа для основанных на игре действий как тег, избегите шара, классиков, tetherball, и играющий на гимнастическом снаряде «джунгли».

      Доступный в iOS 8.0 и позже.

    • PreparationAndRecovery

      HKWorkoutActivityTypePreparationAndRecovery

      Константа для прогрева, cooldown, и терапевтической активности как прокрутка пены и протяжение.

      Доступный в iOS 8.0 и позже.

    • Racquetball

      HKWorkoutActivityTypeRacquetball

      Константа для игры ракетбола.

      Доступный в iOS 8.0 и позже.

    • Rowing

      HKWorkoutActivityTypeRowing

      Константа для расположения в ряд.

      Доступный в iOS 8.0 и позже.

    • Rugby

      HKWorkoutActivityTypeRugby

      Константа для игры регби.

      Доступный в iOS 8.0 и позже.

    • Running

      HKWorkoutActivityTypeRunning

      Константа для выполнения и бега трусцой.

      Доступный в iOS 8.0 и позже.

    • Sailing

      HKWorkoutActivityTypeSailing

      Константа для плавания.

      Доступный в iOS 8.0 и позже.

    • SkatingSports

      HKWorkoutActivityTypeSkatingSports

      Константа для действий катания на коньках, включая катание на коньках, катание на коньках скорости, встроенное катание на коньках и скейтбординг.

      Доступный в iOS 8.0 и позже.

    • SnowSports

      HKWorkoutActivityTypeSnowSports

      Константа для множества спортивных состязаний снега, включая лыжный спорт, сноубординг и лыжные гонки.

      Доступный в iOS 8.0 и позже.

    • Soccer

      HKWorkoutActivityTypeSoccer

      Константа для игры футбола.

      Доступный в iOS 8.0 и позже.

    • Softball

      HKWorkoutActivityTypeSoftball

      Константа для игры софтбола.

      Доступный в iOS 8.0 и позже.

    • Squash

      HKWorkoutActivityTypeSquash

      Константа для игры сквоша.

      Доступный в iOS 8.0 и позже.

    • StairClimbing

      HKWorkoutActivityTypeStairClimbing

      Константа для подъема по лестнице.

      Доступный в iOS 8.0 и позже.

    • SurfingSports

      HKWorkoutActivityTypeSurfingSports

      Константа для множества спортивных состязаний перемещения, включая перемещение, перемещение бумажного змея и перемещение ветра.

      Доступный в iOS 8.0 и позже.

    • Swimming

      HKWorkoutActivityTypeSwimming

      Константа для плавания.

      Доступный в iOS 8.0 и позже.

    • TableTennis

      HKWorkoutActivityTypeTableTennis

      Константа для игры настольного тенниса.

      Доступный в iOS 8.0 и позже.

    • Tennis

      HKWorkoutActivityTypeTennis

      Константа для игры тенниса.

      Доступный в iOS 8.0 и позже.

    • TrackAndField

      HKWorkoutActivityTypeTrackAndField

      Участвуя в событиях легкой атлетики, включая помещенный выстрел, копье, прыжки полюса и связанные спортивные состязания.

      Доступный в iOS 8.0 и позже.

    • TraditionalStrengthTraining

      HKWorkoutActivityTypeTraditionalStrengthTraining

      Константа для силовой подготовки осуществляет прежде всего использование машин или свободных весов.

      Доступный в iOS 8.0 и позже.

    • Volleyball

      HKWorkoutActivityTypeVolleyball

      Константа для игры волейбола.

      Доступный в iOS 8.0 и позже.

    • Walking

      HKWorkoutActivityTypeWalking

      Константа для обхода.

      Доступный в iOS 8.0 и позже.

    • WaterFitness

      HKWorkoutActivityTypeWaterFitness

      Константа для занятия аэробикой выполняется на мелководье.

      Доступный в iOS 8.0 и позже.

    • WaterPolo

      HKWorkoutActivityTypeWaterPolo

      Константа для игры водного поло.

      Доступный в iOS 8.0 и позже.

    • WaterSports

      HKWorkoutActivityTypeWaterSports

      Константа для множества водных видов спорта, включая водный лыжный спорт, обшивку следа и связанные действия.

      Доступный в iOS 8.0 и позже.

    • Wrestling

      HKWorkoutActivityTypeWrestling

      Константа для борьбы.

      Доступный в iOS 8.0 и позже.

    • Yoga

      HKWorkoutActivityTypeYoga

      Константа для осуществления йоги.

      Доступный в iOS 8.0 и позже.

    • Other

      HKWorkoutActivityTypeOther

      Константа для проверки, не соответствующей ни одного из других типов действия проверки.

      Доступный в iOS 8.0 и позже.

    Оператор импорта

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

    Доступный в iOS 8.0 и позже.