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

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

Разработчик

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

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

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

HKHealthStore

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


Соответствует


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


Swift

import HealthKit

Objective C

@import HealthKit;

Доступность


Доступный в iOS 8.0 и позже.
Не доступный в расширениях приложения.

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

Установка платформы HealthKit

Для использования HealthKit приложение должно включить возможности HealthKit в XCode. Затем, проверьте, чтобы видеть, доступен ли HealthKit на устройстве путем вызова isHealthDataAvailable метод. HealthKit не доступен на iPad. Если HealthKit не доступен, другой сбой методов HealthKit с a HKErrorHealthDataUnavailable ошибка.

Если HealthKit и включают и доступен, можно инстанцировать a HKHealthStore возразите для своего приложения. Вам нужно только единственное хранилище HealthKit на приложение. Это долгосрочные объекты. Создайте хранилище один раз и сохраните ссылку для более позднего использования.

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

Если пользователь дает разрешение совместно использовать тип данных, можно создать новые выборки того типа и сохранить их к хранилищу HealthKit. Ваше приложение должно проверить, чтобы видеть, разрешено ли оно совместно использовать данные с помощью authorizationStatusForType: метод. Попытки сохранить данные перед разрешением требовали сбой с a HKErrorAuthorizationNotDetermined ошибка. Попытки сохранить данные, когда разрешению отказали в сбое с a HKErrorAuthorizationDenied ошибка.

Если пользователь дает разрешение читать тип данных, можно запросить те данные с помощью хранилища HealthKit. Чтобы помочь предотвратить возможные утечки чувствительной медицинской информации, Ваше приложение не может определить, дал ли пользователь разрешение считывать данные. Если Вам не дают разрешение, просто появляется, как будто нет никаких данных требуемого типа в хранилище HealthKit. Если Вашему приложению дают разрешение доли, но не читают разрешение, Вы видите только данные, которые Ваше приложение записало в хранилище. Данные из других источников остаются скрытыми.

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

Рисунок 1 показывает лист разрешения для Подходящего приложения. Для загрузки примера кода сочтите целесообразным: Сохраните и Получите Данные HealthKit.

Разрешение рисунка 1Requesting для Подходящего приложения image: ../Art/FitPermissionForm_2x.png

Для настройки сообщений, выведенных на экран на листе полномочий, установите следующие ключи приложении info.plist файл. Установите NSHealthShareUsageDescription ключ для настройки сообщения для чтения данных. Установите NSHealthUpdateUsageDescription ключ для настройки сообщения для записи данных. Для получения дополнительной информации посмотрите Ключи iOS в информационной Ключевой Ссылке Списка свойств.

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

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

  • Возвращает состояние авторизации приложения для совместного использования указанного типа данных.

    Объявление

    Swift

    func authorizationStatusForType(_ type: HKObjectType!) -> HKAuthorizationStatus

    Objective C

    - (HKAuthorizationStatus)authorizationStatusForType:(HKObjectType *)type

    Параметры

    type

    Тип данных. Это может быть любым конкретным подклассом HKObjectType класс (любой из HKCharacteristicType , HKQuantityType, HKCategoryType, HKWorkoutType или HKCorrelationType классы).

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

    Значение, указывающее состояние авторизации приложения для этого типа. Для списка возможных значений посмотрите HKAuthorizationStatus.

    Обсуждение

    Этот метод проверяет состояние авторизации на сохранение данных.

    Чтобы помочь предотвратить возможные утечки чувствительной медицинской информации, Ваше приложение не может определить, дал ли пользователь разрешение считывать данные. Если Вам не дают разрешение, просто появляется, как будто нет никаких данных требуемого типа в хранилище HealthKit. Если Вашему приложению дают разрешение доли, но не читают разрешение, Вы видите только данные, которые Ваше приложение записало в хранилище. Данные из других источников остаются скрытыми.

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

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

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

    Не доступный в расширениях приложения.

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

    Объявление

    Swift

    class func isHealthDataAvailable() -> Bool

    Objective C

    + (BOOL)isHealthDataAvailable

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

    Yes если HealthKit доступен; иначе, NOfalse.

    Обсуждение

    HealthKit не доступен на iPad.

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

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

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

    Не доступный в расширениях приложения.

  • Разрешение запроса сохранить и считать указанные типы данных.

    Объявление

    Swift

    func requestAuthorizationToShareTypes(_ typesToShare: Set<NSObject>!, readTypes typesToRead: Set<NSObject>!, completion completion: ((Bool, NSError!) -> Void)!)

    Objective C

    - (void)requestAuthorizationToShareTypes:(NSSet *)typesToShare readTypes:(NSSet *)typesToRead completion:(void (^)(BOOL success, NSError *error))completion

    Параметры

    typesToShare

    Набор, содержащий типы данных, Вы хотите совместно использовать. Этот набор может содержать любой конкретный подкласс HKSampleType класс (любой из HKQuantityType, HKCategoryType, HKWorkoutType или HKCorrelationType классы). Если пользователь дает разрешение, Ваше приложение может создать и сохранить эти типы данных к хранилищу HealthKit.

    typesToRead

    Набор, содержащий типы данных, Вы хотите читать. Этот набор может содержать любой конкретный подкласс HKObjectType класс (любой из HKCharacteristicType , HKQuantityType, HKCategoryType, HKWorkoutType или HKCorrelationType классы). Если пользователь дает разрешение, Ваше приложение может считать эти типы данных из хранилища HealthKit.

    completion

    Блок, который вызывают после пользователя, заканчивает отвечать на запрос. Этот блок передается следующие параметры:

    success

    Булево значение, указывающее, реагировал ли пользователь на подсказку (если таковые имеются). Это значение не указывает, было ли фактически дано разрешение. Этот параметр NOfalse если пользователь отменил подсказку, не выбирая полномочия; иначе, YEStrue.

    error

    Ошибочный объект. Если ошибка произошла, этот объект содержит информацию об ошибке; иначе, это установлено в nil.

    Обсуждение

    HealthKit выполняет эти запросы асинхронно. Если Вы вызываете этот метод с новым типом данных (тип данных, для которых пользователь ранее не предоставил или отклонил разрешение в этом приложении), система автоматически выводит на экран форму разрешения, перечисляя все требуемые полномочия. После того, как пользователь закончил отвечать, это вызовы метода его блок завершения на очереди фоновых задач. Если пользователь уже принял решение предоставить или запретить доступ ко всем указанным типам, завершение вызывают, не предлагая пользователю.

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

    Можно настроить сообщения, выведенные на экран на листе полномочий путем установки следующих ключей приложении info.plist файл. Установите NSHealthShareUsageDescription ключ для настройки сообщения для чтения данных. Установите NSHealthUpdateUsageDescription ключ для настройки сообщения для записи данных. Для получения дополнительной информации посмотрите Ключи iOS в информационной Ключевой Ссылке Списка свойств.

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

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

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

    Не доступный в расширениях приложения.

  • Читает биологический пол пользователя из хранилища HealthKit.

    Объявление

    Swift

    func biologicalSexWithError(_ error: NSErrorPointer) -> HKBiologicalSexObject?

    Objective C

    - (HKBiologicalSexObject *)biologicalSexWithError:(NSError **)error

    Параметры

    error

    На вводе, указателе на ошибочный объект. Если ошибка происходит, этот указатель установлен в фактический ошибочный объект, содержащий информацию об ошибке. Указать nil для этого параметра, если Вы не хотите получать информацию об ошибке.

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

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

    Обсуждение

    Если пользователь еще не установил его или ее биологический пол или если они отклонили Ваше разрешение приложения считать биологический пол, этот метод возвращается HKBiologicalSexNotSet значение.

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

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

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

    Не доступный в расширениях приложения.

  • Считайте группу крови пользователя из хранилища HealthKit.

    Объявление

    Swift

    func bloodTypeWithError(_ error: NSErrorPointer) -> HKBloodTypeObject?

    Objective C

    - (HKBloodTypeObject *)bloodTypeWithError:(NSError **)error

    Параметры

    error

    На вводе, указателе на ошибочный объект. Если ошибка происходит, этот указатель установлен в фактический ошибочный объект, содержащий информацию об ошибке. Указать nil для этого параметра, если Вы не хотите получать информацию об ошибке.

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

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

    Обсуждение

    Если пользователь не установил его или ее группу крови или если пользователь отклонил Ваше разрешение приложения считать группу крови, этот метод возвращается HKBloodTypeNotSet значение.

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

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

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

    Не доступный в расширениях приложения.

  • Считайте дату рождения пользователя из хранилища HealthKit.

    Объявление

    Swift

    func dateOfBirthWithError(_ error: NSErrorPointer) -> NSDate?

    Objective C

    - (NSDate *)dateOfBirthWithError:(NSError **)error

    Параметры

    error

    На вводе, указателе на ошибочный объект. Если ошибка происходит, этот указатель установлен в фактический ошибочный объект, содержащий информацию об ошибке. Указать nil для этого параметра, если Вы не хотите получать информацию об ошибке.

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

    NSDate объект, представляющий дату рождения пользователя, или nil.

    Обсуждение

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

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

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

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

    Не доступный в расширениях приложения.

  • Удалите указанный объект из хранилища HealthKit.

    Объявление

    Swift

    func deleteObject(_ object: HKObject!, withCompletion completion: ((Bool, NSError!) -> Void)!)

    Objective C

    - (void)deleteObject:(HKObject *)object withCompletion:(void (^)(BOOL success, NSError *error))completion

    Параметры

    object

    Объект, который это приложение ранее сохранило к хранилищу HealthKit.

    completion

    Блок, что это вызовы метода, как только удалить работа завершена. Этот блок передается следующие параметры:

    success

    Булево значение. Этот параметр содержит YEStrue если был успешно удален объект; иначе, NOfalse.

    error

    Ошибочный объект. Если ошибка произошла, этот объект содержит информацию об ошибке; иначе, это установлено в nil.

    Обсуждение

    Ваше приложение может удалить только те объекты, которые оно ранее сохранило к базе данных HealthKit. Если пользователь отменяет совместное использование разрешения, Вы больше не можете иметь, удаляют объекты, также. Этот метод работает асинхронно. Как только удалить работа закончена, она вызывает блок завершения на очереди фоновых задач.

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

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

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

    Не доступный в расширениях приложения.

  • Сохраняет предоставленный объект к хранилищу HealthKit.

    Объявление

    Swift

    func saveObject(_ object: HKObject!, withCompletion completion: ((Bool, NSError!) -> Void)!)

    Objective C

    - (void)saveObject:(HKObject *)object withCompletion:(void (^)(BOOL success, NSError *error))completion

    Параметры

    object

    HealthKit возражают, чтобы быть сохраненными. Этот объект может быть любым конкретным подклассом HKObjectType класс (любой из HKCharacteristicType , HKQuantityType, HKCategoryType, HKWorkoutType или HKCorrelationType классы).

    completion

    Блок, что это вызовы метода, как только работа сохранения завершена. Этот блок передается следующие параметры:

    success

    Булево значение. Этот параметр содержит YEStrue если объект был успешно сохранен к хранилищу HealthKit; иначе, NOfalse.

    error

    Ошибочный объект. Если ошибка произошла, этот объект содержит информацию об ошибке; иначе, это установлено в nil.

    Обсуждение

    Этот метод работает асинхронно. Как только работа сохранения закончена, она вызывает блок завершения на очереди фоновых задач.

    Если Ваше приложение не запросило разрешение совместно использовать тип данных объекта, сбои метода с HKErrorAuthorizationNotDetermined ошибка. Если Вашему приложению отказали в разрешении сохранить тип данных объекта, это перестало работать с HKErrorAuthorizationDenied ошибка. Сохранение объекта с тем же уникальным идентификатором как объект уже в HealthKit хранит сбои HKErrorInvalidArgument ошибка.

    Сохранение объекта к хранилищу HealthKit устанавливает исходное свойство хранившего объекта к a HKSource экземпляр для приложения сохранения. Это значение доступно только после того, как объект получен от хранилища HealthKit. Исходный объект не изменяется.

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

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

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

    Не доступный в расширениях приложения.

  • Сохраняет массив объектов к хранилищу HealthKit.

    Объявление

    Swift

    func saveObjects(_ objects: [AnyObject]!, withCompletion completion: ((Bool, NSError!) -> Void)!)

    Objective C

    - (void)saveObjects:(NSArray *)objects withCompletion:(void (^)(BOOL success, NSError *error))completion

    Параметры

    objects

    Массив, содержащий конкретный подкласс HKObjectType класс (любой из классов HKCharacteristicType , HKQuantityType, HKCategoryType, HKWorkoutType или HKCorrelationType).

    completion

    Блок, что это вызовы метода, как только работа сохранения завершена. Этот блок передается следующие параметры:

    success

    Булево значение. Этот параметр содержит YEStrue если объект был успешно сохранен к хранилищу HealthKit; иначе, NOfalse.

    error

    Ошибочный объект. Если ошибка произошла, этот объект содержит информацию об ошибке; иначе, это установлено в nil.

    Обсуждение

    Этот метод работает асинхронно. Как только работа сохранения закончена, она вызывает блок завершения на очереди фоновых задач.

    Если Ваше приложение не запросило разрешение совместно использовать тип данных объекта, сбои метода с HKErrorAuthorizationNotDetermined ошибка. Если Вашему приложению отказали в разрешении сохранить тип данных объекта, это перестало работать с HKErrorAuthorizationDenied ошибка. Сохранение объекта с тем же уникальным идентификатором как объект уже в HealthKit хранит сбои HKErrorInvalidArgument ошибка. При сохранении многократных объектов, если какой-либо объект не может быть сохранен, ни один из них не сохраняется.

    Сохранение объекта к хранилищу HealthKit устанавливает исходное свойство для хранившего объекта к HKSource экземпляр для приложения сохранения. Это значение доступно только после того, как объект получен от хранилища HealthKit. Исходный объект не изменяется.

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

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

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

    Не доступный в расширениях приложения.

  • Связывает предоставленные выборки с проверкой.

    Объявление

    Swift

    func addSamples(_ samples: [AnyObject]!, toWorkout workout: HKWorkout!, completion completion: ((Bool, NSError!) -> Void)!)

    Objective C

    - (void)addSamples:(NSArray *)samples toWorkout:(HKWorkout *)workout completion:(void (^)(BOOL success, NSError *error))completion

    Параметры

    samples

    Массив, содержащий HKCategorySample или HKQuantitySample объекты.

    workout

    Проверка Вы добавляете выборки к.

    completion

    Блок, что это вызовы метода, как только работа добавлять-выборок завершена. Этот блок передается следующие параметры:

    success

    Булево значение. Этот параметр содержит YEStrue если выборки были успешно добавлены к проверке; иначе, NOfalse.

    error

    Ошибочный объект. Если ошибка произошла, этот объект содержит информацию об ошибке; иначе, это установлено в nil.

    Обсуждение

    Этот метод работает асинхронно. Как только работа добавлять-выборок закончена, это вызовы метода блок завершения на очереди фоновых задач. Необходимо сохранить проверку к хранилищу HealthKit, прежде чем можно будет добавить любые выборки к нему. Можно сохранить выборки прежде, чем вызвать этот метод, но сделать так не требуется. Этот метод автоматически сохраняет любые несохраненные выборки, когда он успешно добавляет их к проверке.

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

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

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

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

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

  • Начинает выполнять предоставленный запрос.

    Объявление

    Swift

    func executeQuery(_ query: HKQuery!)

    Objective C

    - (void)executeQuery:(HKQuery *)query

    Параметры

    query

    Конкретный подкласс HKQuery класс (любой из классов HKSampleQuery, HKAnchoredObjectQuery, HKCorrelationQuery, HKObserverQuery, HKSourceQuery, HKStatisticsQuery, или HKStatisticsCollectionQuery).

    Обсуждение

    HealthKit выполняет запросы асинхронно на очереди фоновых задач. Большинство запросов автоматически останавливается после того, как они закончили выполняться. Однако продолжительные запросы — такие как запросы наблюдателя и некоторые запросы набора статистики — продолжают выполняться в фоновом режиме. Для остановки продолжительных запросов вызовите stopQuery: метод.

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

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

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

    Не доступный в расширениях приложения.

  • Останавливает продолжительный запрос.

    Объявление

    Swift

    func stopQuery(_ query: HKQuery!)

    Objective C

    - (void)stopQuery:(HKQuery *)query

    Параметры

    query

    Любой HKObserverQuery экземпляр или HKStatisticsCollectionQuery экземпляр.

    Обсуждение

    Используйте этот метод на продолжительных запросах только. Большинство запросов автоматически останавливается после того, как они собрали запрошенные данные. Продолжительные запросы продолжают воздействовать на фоновый поток, следя за магазином HealthKit для обновлений. Можно отменить эти запросы при помощи этого метода.

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

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

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

    Не доступный в расширениях приложения.

  • Вызывает блок завершения с предпочтительными модулями для данных типов количества.

    Объявление

    Swift

    func preferredUnitsForQuantityTypes(_ quantityTypes: Set<NSObject>!, completion completion: (([NSObject : AnyObject]!, NSError!) -> Void)!)

    Objective C

    - (void)preferredUnitsForQuantityTypes:(NSSet *)quantityTypes completion:(void (^)(NSDictionary *preferredUnits, NSError *error))completion

    Параметры

    quantityTypes

    Ряд HKQuantityType идентификаторы. Прежде, чем вызвать этот метод, Ваше приложение должно запросить чтение или доступ доли ко всем типам в этом наборе.

    completion

    Блок, что это вызовы метода, как только это заканчивает искать предпочтительные модули. Этот блок передается следующие параметры:

    preferredUnits

    Если поиск успешен, этот параметр содержит словарь с HKQuantityType идентификаторы для ключей и HKUnit объекты для значений. Ключи соответствуют переданных quantityTypes параметр. Если ошибка происходит, этот параметр устанавливается на nil.

    error

    Ошибочный объект. Этот метод возвращает ошибку, если предпочтительные модули недоступны или если Ваше приложение еще не запросило разрешение получить доступ к типам количества; иначе, этот параметр устанавливается на nil.

    Обсуждение

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

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

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

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

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

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

  • Включает фоновую поставку обновлений.

    Объявление

    Swift

    func enableBackgroundDeliveryForType(_ type: HKObjectType!, frequency frequency: HKUpdateFrequency, withCompletion completion: ((Bool, NSError!) -> Void)!)

    Objective C

    - (void)enableBackgroundDeliveryForType:(HKObjectType *)type frequency:(HKUpdateFrequency)frequency withCompletion:(void (^)(BOOL success, NSError *error))completion

    Параметры

    type

    Тип данных для наблюдения. Этот объект может быть любым конкретным подклассом HKObjectType класс (любой из классов HKCharacteristicType , HKQuantityType, HKCategoryType, HKWorkoutType или HKCorrelationType).

    frequency

    Максимальная частота обновлений. Система будит Ваше приложение от фона самое большее один раз на указанный период времени. Для полного списка допустимых частот посмотрите HKUpdateFrequency.

    completion

    Блок, что это вызовы метода, как только включена фоновая поставка. Этот блок передается следующие параметры:

    success

    Булево значение. Этот параметр содержит YEStrue если была успешно включена фоновая поставка; иначе, NOfalse.

    error

    Ошибочный объект. Если ошибка произошла, этот объект содержит информацию об ошибке; иначе, это установлено в nil.

    Обсуждение

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

    Как только Ваше приложение запускается, HealthKit вызывает обработчик обновления для любых запросов наблюдателя, соответствующих недавно сохраненные данные. Если Вы планируете поддержку фоновой поставки, устанавливаете все свои запросы наблюдателя в Вашем делегате приложения application:didFinishLaunchingWithOptions: метод. Путем установки запросов в application:didFinishLaunchingWithOptions:, Вы гарантируете, что запросы инстанцируют и готовы использовать, прежде чем HealthKit поставляет обновления.

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

    Для получения дополнительной информации о фоновом обработчике завершения поставки посмотрите HKObserverQueryCompletionHandler.

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

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

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

  • Отключает фоновые поставки уведомлений обновления для указанного типа данных.

    Объявление

    Swift

    func disableBackgroundDeliveryForType(_ type: HKObjectType!, withCompletion completion: ((Bool, NSError!) -> Void)!)

    Objective C

    - (void)disableBackgroundDeliveryForType:(HKObjectType *)type withCompletion:(void (^)(BOOL success, NSError *error))completion

    Параметры

    type

    Тип данных. Этот объект может быть любым конкретным подклассом HKObjectType класс (любой из классов HKCharacteristicType , HKQuantityType, HKCategoryType, HKWorkoutType или HKCorrelationType).

    completion

    Блок, что это вызовы метода, как только отключена фоновая поставка. Этот блок передается следующие параметры:

    success

    Булево значение. Этот параметр содержит YEStrue если была успешно отключена фоновая поставка; иначе, NOfalse.

    error

    Ошибочный объект. Если ошибка произошла, этот объект содержит информацию об ошибке; иначе, это установлено в nil.

    Обсуждение

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

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

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

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

  • Отключает все фоновые поставки уведомлений обновления.

    Объявление

    Swift

    func disableAllBackgroundDeliveryWithCompletion(_ completion: ((Bool, NSError!) -> Void)!)

    Objective C

    - (void)disableAllBackgroundDeliveryWithCompletion:(void (^)(BOOL success, NSError *error))completion

    Параметры

    completion

    Блок, что это вызовы метода, как только отключены фоновые поставки. Этот блок передается следующие параметры:

    success

    Булево значение. Этот параметр содержит YEStrue если были успешно отключены фоновые поставки; иначе, NOfalse.

    error

    Ошибочный объект. Если ошибка произошла, этот объект содержит информацию об ошибке; иначе, это установлено в nil.

    Обсуждение

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

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

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

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

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

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

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

    Objective C

    @import HealthKit;

    Swift

    import HealthKit

    Доступность

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