CMAltimeter
Оператор импорта
Swift
import CoreMotion
Objective C
@import CoreMotion;
Доступность
Доступный в iOS 8.0 и позже.
Используйте a CMAltimeter объект инициировать поставку связанных с высотой данных к Вашему приложению. Высотные события отражают изменение в текущей высоте, не абсолютную высоту. Таким образом, путешествующее пешком приложение могло бы использовать этот объект отследить усиление повышения пользователя в течение экскурсии. Поскольку высотные события могут не быть доступными на всех устройствах, всегда вызывайте isRelativeAltitudeAvailable метод перед использованием этой службы.
После проверки доступность высотных данных Вы запускаете поставку событий путем вызова startRelativeAltitudeUpdatesToQueue:withHandler: метод. Базовое Движение генерирует события равномерно (независимо от того, изменились ли данные), и поставляет им блоку, который Вы указали при запуске. Когда Вам больше не будут нужны данные о событии, вызовите stopRelativeAltitudeUpdates метод.
Базовое Движение поставляет события высотомера только, в то время как Ваше приложение работает, или на переднем плане или на фоне. Если Ваше приложение приостановлено, поставка события останавливается временно. Когда Ваше приложение возвращается в передний план, поставка события возобновляет.
-
Возвращает булево значение, указывающее, изменяются ли текущие поддержки устройства, генерирующие данные для относительной высоты.
Объявление
Swift
class func isRelativeAltitudeAvailable() -> BoolObjective C
+ (BOOL)isRelativeAltitudeAvailableВозвращаемое значение
YEStrueесли устройство поддерживает относительные высотные изменения илиNOfalseесли это не делает.Обсуждение
Используйте этот метод, чтобы определить, доступны ли высотные обновления прежде, чем вызвать
startRelativeAltitudeUpdatesToQueue:withHandler:метод.Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 8.0 и позже.
-
startRelativeAltitudeUpdatesToQueue (_: withHandler:) - startRelativeAltitudeUpdatesToQueue:withHandler:Запускает поставку высотных данных к указанному блоку обработчика.
Объявление
Swift
func startRelativeAltitudeUpdatesToQueue(_queue: NSOperationQueue!, withHandlerhandler: CMAltitudeHandler!)Objective C
- (void)startRelativeAltitudeUpdatesToQueue:(NSOperationQueue *)queuewithHandler:(CMAltitudeHandler)handlerПараметры
queueОчередь работы, на которой можно выполнить Ваш блок обработчика. Объектно-ориентированные памяти высотомера сильная ссылка к этому объекту. Этот параметр не должен быть
nil.handlerБлок обработчика для выполнения, когда новые высотные данные доступны. Этот параметр не должен быть
nil. Для получения информации о формате этого блока посмотритеCMAltitudeHandler.Обсуждение
Вызовите этот метод для инициирования поставки событий. Объектно-ориентированные памяти высотомера сильная ссылка указанной очереди и делают копию Вашего блока. При вызове метода во второй раз объект высотомера выпускает свои ссылки на предыдущую очередь и обработчик прежде, чем сохранить ссылки на новые. Таким образом, только последний установленный обработчик получает события. Когда Вам больше не нужны высотные данные, или когда ошибка происходит, вызовите
stopRelativeAltitudeUpdatesметод для остановки поставки событий.Если высотные данные не доступны на текущем устройстве, этот метод ничего не делает.
Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 8.0 и позже.
-
Останавливает поставку высотных данных для этого объекта высотомера
Объявление
Swift
func stopRelativeAltitudeUpdates()Objective C
- (void)stopRelativeAltitudeUpdatesОбсуждение
Вызов этого метода заканчивает поставку высотных событий и выпускает ссылки на очередь работы, и блокируйте Вас указанный в
startRelativeAltitudeUpdatesToQueue:withHandler:метод. Если поставка события еще не была запущена или была уже остановлена, этот метод ничего не делает.Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 8.0 и позже.
Типы данных
-
Блок для получения высотных данных.
Объявление
Swift
typealias CMAltitudeHandler = (CMAltitudeData!, NSError!) -> VoidObjective C
typedef void (^CMAltitudeHandler)(CMAltitudeData *altitudeData, NSError *error)Обсуждение
Вы передаете блок этого типа к объекту высотомера
startRelativeAltitudeUpdatesToQueue:withHandler:метод при запуске поставки высотных данных. Этот блок не имеет никакого возвращаемого значения и берет следующие параметры:altitudeDataОтносительное изменение в высотных данных. Если была ошибка при генерации данных, этот параметр
nil.errorОшибочный объект, если ошибка произошла или
nilесли данные были поставлены успешно. Когда ошибка происходит, можно использовать информацию в предоставленном объекте попытаться восстановить или предупредить пользователя.Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 8.0 и позже.
