CMMotionManager
Оператор импорта
Swift
import CoreMotion
Objective C
@import CoreMotion;
Доступность
Доступный в iOS 4.0 и позже.
A CMMotionManager объект является шлюзом к услугам движения, предоставленным iOS. Эти службы предоставляют приложению данные акселерометра, данные скорости вращения, данные магнитометра и другие данные движения устройства, такие как отношение. Эти типы данных происходят с акселерометрами устройства и (на некоторых моделях) его магнитометр и гироскоп.
После создания экземпляра CMMotionManager, приложение может использовать его для получения четырех типов движения: необработанные данные акселерометра, необработанные данные гироскопа, необработанные данные магнитометра, и обработали данные движения устройства (который включает акселерометр, скорость вращения и измерения отношения). Обработанные данные движения устройства, предоставленные алгоритмами слияния датчика Базового Движения, дают отношение устройства, скорость вращения, калибровал магнитные поля, направление силы тяжести и ускорение, которое пользователь передает устройству.
Приложение может проявить один из двух подходов при получении данных движения путем обработки его в указанных интервалах обновления или периодически выборки данных движения. С обоими из этих подходов приложение должно вызвать надлежащий метод остановки (stopAccelerometerUpdates, stopGyroUpdates, stopMagnetometerUpdates, и stopDeviceMotionUpdates) когда это закончило обрабатывать акселерометр, скорость вращения, магнитометр или данные движения устройства.
Обработка обновлений движения в указанных интервалах
Для получения данных движения в определенных интервалах приложение вызывает метод «запуска», берущий очередь работы (экземпляр NSOperationQueue) и блочный обработчик определенного типа для обработки тех обновлений. Данные движения передаются в блочный обработчик. Частота обновлений определяется значением свойства «интервала».
Акселерометр. Установите
accelerometerUpdateIntervalсвойство для указания интервала обновления. ВызовитеstartAccelerometerUpdatesToQueue:withHandler:метод, передающий в блоке типаCMAccelerometerHandler. Данные акселерометра передаются в блок какCMAccelerometerDataобъекты.Гироскоп. Установите
gyroUpdateIntervalсвойство для указания интервала обновления. ВызовитеstartGyroUpdatesToQueue:withHandler:метод, передающий в блоке типаCMGyroHandler. Данные скорости вращения передаются в блок какCMGyroDataобъекты.Магнитометр. Установите
magnetometerUpdateIntervalсвойство для указания интервала обновления. ВызовитеstartMagnetometerUpdatesToQueue:withHandler:метод, передавая блок типаCMMagnetometerHandler. Данные магнитного поля передаются в блок какCMMagnetometerDataобъекты.Движение устройства. Установите
deviceMotionUpdateIntervalсвойство для указания интервала обновления. ВызовитеstartDeviceMotionUpdatesUsingReferenceFrame:илиstartDeviceMotionUpdatesUsingReferenceFrame:toQueue:withHandler:илиstartDeviceMotionUpdatesToQueue:withHandler:метод, передающий в блоке типаCMDeviceMotionHandler. С прежним методом (новый в iOS 5.0), можно указать ссылочный кадр, который будет использоваться для оценок отношения. Данные скорости вращения передаются в блок какCMDeviceMotionобъекты.
Периодическая выборка данных движения
Для обработки данных движения периодической выборкой приложение вызывает метод «запуска», берущий параметры, и периодически получает доступ к данным движения, сохраненным свойством для данного типа данных движения. Этот подход является рекомендуемым подходом для приложений, таких как игры. Обработка данных акселерометра в блоке представляет дополнительные издержки, и большинству игровых приложений интересно только последняя выборка данных движения, когда они представляют кадр.
Акселерометр. Вызвать
startAccelerometerUpdatesначинать обновления и периодически доступCMAccelerometerDataобъекты путем чтенияaccelerometerDataсвойство.Гироскоп. Вызвать
startGyroUpdatesначинать обновления и периодически доступCMGyroDataобъекты путем чтенияgyroDataсвойство.Магнитометр. Вызвать
startMagnetometerUpdatesначинать обновления и периодически доступCMMagnetometerDataобъекты путем чтенияmagnetometerDataсвойство.Движение устройства. Вызовите
startDeviceMotionUpdatesUsingReferenceFrame:илиstartDeviceMotionUpdatesметод для начала обновлений и периодически доступаCMDeviceMotionобъекты путем чтенияdeviceMotionсвойство.startDeviceMotionUpdatesUsingReferenceFrame:метод (новый в iOS 5.0) позволяет Вам указать ссылочный кадр, который будет использоваться для оценок отношения.
Аппаратная доступность и состояние
Если аппаратная функция (например, гироскоп) не доступна на устройстве, вызывание метода запуска, связанного с той функцией, не имеет никакого эффекта. Можно узнать, доступна ли аппаратная функция или активна путем проверки надлежащего свойства; например, для данных гироскопа, можно проверить значение gyroAvailable или gyroActive свойства.
-
accelerometerUpdateIntervalСвойствоИнтервал, в секундах, для обеспечения акселерометра обновляет к блочному обработчику.
Объявление
Swift
var accelerometerUpdateInterval: NSTimeIntervalObjective C
@property(assign, nonatomic) NSTimeInterval accelerometerUpdateIntervalОбсуждение
Система предоставляет обновления акселерометра к блочному обработчику, указанному в
startAccelerometerUpdatesToQueue:withHandler:равномерно определенный значением этого свойства. Модули интервала находятся в секундах. Значение этого свойства ограничивается к минимальным и максимальным значениям; максимальное значение определяется максимальной частотой, поддерживаемой аппаратными средствами. Если Ваше приложение чувствительно к интервалам ускоряющих данных, оно должно всегда проверять метки времени поставленногоCMAccelerometerDataэкземпляры для определения истинного интервала обновления.Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 4.0 и позже.
-
Запускает обновления акселерометра на очереди работы и с указанным обработчиком.
Объявление
Swift
func startAccelerometerUpdatesToQueue(_queue: NSOperationQueue!, withHandlerhandler: CMAccelerometerHandler!)Objective C
- (void)startAccelerometerUpdatesToQueue:(NSOperationQueue *)queuewithHandler:(CMAccelerometerHandler)handlerПараметры
queueОчередь работы, предоставленная вызывающей стороной. Поскольку обработанные события могли бы достигнуть высокого показателя, использование основной очереди работы не рекомендуется.
handlerБлок, вызывающийся с каждым обновлением для обработки новых данных акселерометра. Блок должен соответствовать
CMAccelerometerHandlerввести.Обсуждение
Необходимо вызвать
stopAccelerometerUpdatesкогда Вы больше не хотите, чтобы Ваше приложение обработало обновления акселерометра.Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 4.0 и позже.
См. также
-
Запускает обновления акселерометра без обработчика.
Объявление
Swift
func startAccelerometerUpdates()Objective C
- (void)startAccelerometerUpdatesОбсуждение
Можно передать последние данные акселерометра
accelerometerDataсвойство. Необходимо вызватьstopAccelerometerUpdatesкогда Вы больше не хотите, чтобы Ваше приложение обработало обновления акселерометра.Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 4.0 и позже.
-
Обновления акселерометра остановок.
Объявление
Swift
func stopAccelerometerUpdates()Objective C
- (void)stopAccelerometerUpdatesОператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 4.0 и позже.
-
accelerometerActiveСвойствоБулево значение, указывающее, происходят ли в настоящее время обновления акселерометра. (только для чтения)
Объявление
Swift
var accelerometerActive: Bool { get }Objective C
@property(readonly, nonatomic, getter=isAccelerometerActive) BOOL accelerometerActiveОбсуждение
Это свойство указывает ли
startAccelerometerUpdatesToQueue:withHandler:илиstartAccelerometerUpdatesбыл вызван с прошлого разаstopAccelerometerUpdatesбыл вызван. (Если методы запуска не вызвали, приложение могло бы получать обновления от акселерометра после вызова, например,startDeviceMotionUpdates, но это свойство возвратилось быNOfalse.)Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 4.0 и позже.
См. также
-
accelerometerAvailableСвойствоБулево значение, указывающее, доступен ли акселерометр на устройстве. (только для чтения)
Объявление
Swift
var accelerometerAvailable: Bool { get }Objective C
@property(readonly, nonatomic, getter=isAccelerometerAvailable) BOOL accelerometerAvailableОператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 4.0 и позже.
См. также
-
accelerometerDataСвойствоПоследняя выборка данных акселерометра. (только для чтения)
Объявление
Swift
var accelerometerData: CMAccelerometerData! { get }Objective C
@property(readonly) CMAccelerometerData *accelerometerDataОбсуждение
Если никакие данные акселерометра не доступны, значение этого свойства
nil. Приложение, получающее данные акселерометра после вызоваstartAccelerometerUpdatesпериодически проверяет значение этого свойства и обрабатывает ускоряющие данные.Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 4.0 и позже.
-
gyroUpdateIntervalСвойствоИнтервал, в секундах, для обеспечения гироскопа обновляет к блочному обработчику.
Объявление
Swift
var gyroUpdateInterval: NSTimeIntervalObjective C
@property(assign, nonatomic) NSTimeInterval gyroUpdateIntervalОбсуждение
Система предоставляет гироскоп (т.е. скорость вращения) обновления к блочному обработчику, указанному в
startGyroUpdatesToQueue:withHandler:равномерно определенный значением этого свойства. Модули интервала находятся в секундах. Значение этого свойства ограничивается к минимальным и максимальным значениям; максимальное значение определяется максимальной частотой, поддерживаемой аппаратными средствами. Если Ваше приложение чувствительно к интервалам данных гироскопа, оно должно всегда проверять метки времени поставленногоCMGyroDataэкземпляры для определения истинного интервала обновления.Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 4.0 и позже.
-
Запускает обновления гироскопа на очереди работы и с указанным обработчиком.
Объявление
Swift
func startGyroUpdatesToQueue(_queue: NSOperationQueue!, withHandlerhandler: CMGyroHandler!)Objective C
- (void)startGyroUpdatesToQueue:(NSOperationQueue *)queuewithHandler:(CMGyroHandler)handlerПараметры
queueОчередь работы, предоставленная вызывающей стороной. Поскольку обработанные события могли бы достигнуть высокого показателя, использование основной очереди работы не рекомендуется.
handlerБлок, вызывающийся с каждым обновлением для обработки новых данных гироскопа. Блок должен соответствовать
CMGyroHandlerввести.Обсуждение
Необходимо вызвать
stopGyroUpdatesкогда Вы больше не хотите, чтобы Ваше приложение обработало обновления гироскопа.Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 4.0 и позже.
См. также
-
Запускает обновления гироскопа без обработчика.
Объявление
Swift
func startGyroUpdates()Objective C
- (void)startGyroUpdatesОбсуждение
Можно передать последние данные гироскопа
gyroDataсвойство. Необходимо вызватьstopGyroUpdatesкогда Вы больше не хотите, чтобы Ваше приложение обработало обновления гироскопа.Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 4.0 и позже.
См. также
-
Обновления гироскопа остановок.
Объявление
Swift
func stopGyroUpdates()Objective C
- (void)stopGyroUpdatesОператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 4.0 и позже.
-
gyroActiveСвойствоБулево значение, определяющее, происходят ли в настоящее время обновления гироскопа. (только для чтения)
Объявление
Swift
var gyroActive: Bool { get }Objective C
@property(readonly, nonatomic, getter=isGyroActive) BOOL gyroActiveОбсуждение
Это свойство указывает ли
startGyroUpdatesToQueue:withHandler:илиstartGyroUpdatesбыл вызван с прошлого разаstopGyroUpdatesбыл вызван. (Если методы запуска не вызвали, приложение могло бы получать обновления от гироскопа после вызова, например,startDeviceMotionUpdates, но это свойство возвратилось быNOfalse.)Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 4.0 и позже.
См. также
-
gyroAvailableСвойствоБулево значение, указывающее, доступен ли гироскоп на устройстве. (только для чтения)
Объявление
Swift
var gyroAvailable: Bool { get }Objective C
@property(readonly, nonatomic, getter=isGyroAvailable) BOOL gyroAvailableОператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 4.0 и позже.
См. также
-
gyroDataСвойствоПоследняя выборка данных гироскопа. (только для чтения)
Объявление
Swift
var gyroData: CMGyroData! { get }Objective C
@property(readonly) CMGyroData *gyroDataОбсуждение
Если никакие данные гироскопа не доступны, значение этого свойства
nil. Приложение, получающее данные гироскопа после вызоваstartGyroUpdatesпериодически проверяет значение этого свойства и обрабатывает данные гироскопа.Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 4.0 и позже.
-
magnetometerUpdateIntervalСвойствоИнтервал, в секундах, в которые система поставляет данные магнитометра блочному обработчику.
Объявление
Swift
var magnetometerUpdateInterval: NSTimeIntervalObjective C
@property(assign, nonatomic) NSTimeInterval magnetometerUpdateIntervalОбсуждение
Данные магнитометра предоставлений к блочному обработчику, указанному в
startMagnetometerUpdatesToQueue:withHandler:равномерно определенный значением этого свойства. Модуль интервала находится в секундах. Значение этого свойства ограничивается к минимальным и максимальным значениям; максимальное значение определяется максимальной частотой, поддерживаемой аппаратными средствами. Если Ваше приложение чувствительно к интервалам данных магнитометра, оно должно всегда проверять метки времени поставленногоCMMagnetometerDataэкземпляры для определения истинного интервала обновления.Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 5.0 и позже.
-
Запускает обновления магнитометра на очереди работы и с указанным обработчиком.
Объявление
Swift
func startMagnetometerUpdatesToQueue(_queue: NSOperationQueue!, withHandlerhandler: CMMagnetometerHandler!)Objective C
- (void)startMagnetometerUpdatesToQueue:(NSOperationQueue *)queuewithHandler:(CMMagnetometerHandler)handlerПараметры
queueОчередь работы, предоставленная вызывающей стороной. Поскольку обработанные события могли бы достигнуть высокого показателя, использование основной очереди работы не рекомендуется.
handlerБлок, вызывающийся с каждым обновлением для обработки новых данных магнитометра. Блок должен соответствовать
CMMagnetometerHandlerввести.Обсуждение
Необходимо вызвать
stopMagnetometerUpdatesкогда Вы больше не хотите, чтобы Ваше приложение обработало обновления магнитометра.Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 5.0 и позже.
См. также
-
Запускает обновления магнитометра без блочного обработчика.
Объявление
Swift
func startMagnetometerUpdates()Objective C
- (void)startMagnetometerUpdatesОбсуждение
Можно передать последние данные магнитометра
magnetometerDataсвойство. Необходимо вызватьstopMagnetometerUpdatesкогда Вы больше не хотите, чтобы Ваше приложение обработало обновления магнитометра.Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 5.0 и позже.
-
Обновления магнитометра остановок.
Объявление
Swift
func stopMagnetometerUpdates()Objective C
- (void)stopMagnetometerUpdatesОператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 5.0 и позже.
-
magnetometerActiveСвойствоБулево значение, определяющее, происходят ли в настоящее время обновления магнитометра. (только для чтения)
Объявление
Swift
var magnetometerActive: Bool { get }Objective C
@property(readonly, nonatomic, getter=isMagnetometerActive) BOOL magnetometerActiveОбсуждение
Это свойство указывает ли
startMagnetometerUpdatesToQueue:withHandler:илиstartMagnetometerUpdatesметод вызвали с прошлого разаstopMagnetometerUpdatesметод вызвали. (Если методы запуска не вызвали, приложение могло бы получать обновления от магнитометра после вызова, например,startDeviceMotionUpdates, но это свойство возвратилось быNOfalse.)Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 5.0 и позже.
См. также
-
magnetometerAvailableСвойствоБулево значение, указывающее, доступен ли магнитометр на устройстве. (только для чтения)
Объявление
Swift
var magnetometerAvailable: Bool { get }Objective C
@property(readonly, nonatomic, getter=isMagnetometerAvailable) BOOL magnetometerAvailableОператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 5.0 и позже.
См. также
-
magnetometerDataСвойствоПоследняя выборка данных магнитометра. (только для чтения)
Объявление
Swift
var magnetometerData: CMMagnetometerData! { get }Objective C
@property(readonly) CMMagnetometerData *magnetometerDataОбсуждение
Если никакие данные магнитометра не доступны, значение этого свойства
nil. Приложение, получающее данные магнитометра после вызоваstartMagnetometerUpdatesпериодически проверяет значение этого свойства и обрабатывает данные гироскопа.Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 5.0 и позже.
См. также
-
showsDeviceMovementDisplayСвойствоСредства управления, показан ли дисплей перемещения устройств.
Объявление
Swift
var showsDeviceMovementDisplay: BoolObjective C
@property(assign, nonatomic) BOOL showsDeviceMovementDisplayОбсуждение
Когда устройство требует перемещения (например, для калибровки компаса), значение этого свойства указывает, должен ли быть показан дисплей перемещения устройств системы. Когда устройство требует перемещения, блочного обработчика типа
CMDeviceMotionHandlerотчетыCMErrorDeviceRequiresMovementошибка один раз. По умолчанию это свойствоNOfalse.Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 5.0 и позже.
-
deviceMotionUpdateIntervalСвойствоИнтервал, в секундах, для обеспечения движения устройства обновляет к блочному обработчику.
Объявление
Swift
var deviceMotionUpdateInterval: NSTimeIntervalObjective C
@property(assign, nonatomic) NSTimeInterval deviceMotionUpdateIntervalОбсуждение
Система предоставляет обновления движения устройства к блочному обработчику, указанному в
startDeviceMotionUpdatesToQueue:withHandler:равномерно определенный значением этого свойства. Модули интервала находятся в секундах. Значение этого свойства ограничивается к минимальным и максимальным значениям; максимальное значение определяется максимальной частотой, поддерживаемой аппаратными средствами. Если Ваше приложение чувствительно к интервалам данных движения устройства, оно должно всегда проверять метки времени поставленногоCMDeviceMotionэкземпляры для определения истинного интервала обновления.Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 4.0 и позже.
-
startDeviceMotionUpdatesUsingReferenceFrame (_: toQueue:withHandler:) - startDeviceMotionUpdatesUsingReferenceFrame:toQueue:withHandler:Запускает обновления движения устройства на очереди работы и использование указанного ссылочного кадра и блочного обработчика.
Объявление
Swift
func startDeviceMotionUpdatesUsingReferenceFrame(_referenceFrame: CMAttitudeReferenceFrame, toQueuequeue: NSOperationQueue!, withHandlerhandler: CMDeviceMotionHandler!)Objective C
- (void)startDeviceMotionUpdatesUsingReferenceFrame:(CMAttitudeReferenceFrame)referenceFrametoQueue:(NSOperationQueue *)queuewithHandler:(CMDeviceMotionHandler)handlerПараметры
referenceFrameПостоянная идентификация ссылочного кадра для использования для обновлений движения устройства.
queueОчередь работы, предоставленная вызывающей стороной. Поскольку обработанные события могли бы достигнуть высокого показателя, использование основной очереди работы не рекомендуется.
handlerБлок, вызывающийся с каждым обновлением для обработки новых данных движения устройства. Блок должен соответствовать
CMDeviceMotionHandlerввести.Обсуждение
Необходимо вызвать
stopDeviceMotionUpdatesкогда Вы больше не хотите, чтобы Ваше приложение обработало обновления движения устройства.Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 5.0 и позже.
-
Запускает обновления движения устройства на очереди работы и использование указанного блочного обработчика.
Объявление
Swift
func startDeviceMotionUpdatesToQueue(_queue: NSOperationQueue!, withHandlerhandler: CMDeviceMotionHandler!)Objective C
- (void)startDeviceMotionUpdatesToQueue:(NSOperationQueue *)queuewithHandler:(CMDeviceMotionHandler)handlerПараметры
queueОчередь работы, предоставленная вызывающей стороной. Поскольку обработанные события могли бы достигнуть высокого показателя, использование основной очереди работы не рекомендуется.
handlerБлок, вызывающийся с каждым обновлением для обработки новых данных движения устройства. Блок должен соответствовать
CMDeviceMotionHandlerввести.Обсуждение
Этот метод использует ссылочный кадр, возвращенный
attitudeReferenceFrameдля обновлений движения устройства. Необходимо вызватьstopDeviceMotionUpdatesкогда Вы больше не хотите, чтобы Ваше приложение обработало обновления движения устройства.Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 4.0 и позже.
См. также
-
Запускает обновления движения устройства с помощью ссылочного кадра, но без блочного обработчика.
Объявление
Swift
func startDeviceMotionUpdatesUsingReferenceFrame(_referenceFrame: CMAttitudeReferenceFrame)Objective C
- (void)startDeviceMotionUpdatesUsingReferenceFrame:(CMAttitudeReferenceFrame)referenceFrameПараметры
referenceFrameПостоянная идентификация ссылочного кадра для использования для обновлений движения устройства.
Обсуждение
Можно передать последние данные движения устройства
deviceMotionсвойство. Необходимо вызватьstopDeviceMotionUpdatesкогда Вы больше не хотите, чтобы Ваше приложение обработало обновления движения устройства.Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 5.0 и позже.
-
Запускает обновления движения устройства без блочного обработчика.
Объявление
Swift
func startDeviceMotionUpdates()Objective C
- (void)startDeviceMotionUpdatesОбсуждение
Можно передать последние данные движения устройства
deviceMotionсвойство. Необходимо вызватьstopDeviceMotionUpdatesкогда Вы больше не хотите, чтобы Ваше приложение обработало обновления движения устройства. Этот метод использует ссылочный кадр, возвращенныйattitudeReferenceFrameдля обновлений движения устройства.Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 4.0 и позже.
-
Обновления движения устройства остановок.
Объявление
Swift
func stopDeviceMotionUpdates()Objective C
- (void)stopDeviceMotionUpdatesОператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 4.0 и позже.
-
attitudeReferenceFrameСвойствоВозвраты или ссылочный кадр, в настоящее время используясь или ссылочный кадр отношения по умолчанию (только для чтения)
Объявление
Swift
var attitudeReferenceFrame: CMAttitudeReferenceFrame { get }Objective C
@property(readonly, nonatomic) CMAttitudeReferenceFrame attitudeReferenceFrameОбсуждение
Если движение устройства активно, это свойство возвращает ссылочный использующийся в настоящее время кадр. Если движение устройства не активно, но было активно, так как приложение было в последний раз запущено, это свойство возвращает последний используемый кадр. Если движение устройства не было активно, так как приложение было в последний раз запущено, это свойство возвращает ссылочный кадр отношения по умолчанию для устройства. Если движение устройства не доступно на устройстве, значение не определено.
Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 5.0 и позже.
-
Возвращает битовую маску, указывающую доступные ссылочные кадры отношения на устройстве.
Объявление
Swift
class func availableAttitudeReferenceFrames() -> CMAttitudeReferenceFrameObjective C
+ (CMAttitudeReferenceFrame)availableAttitudeReferenceFramesВозвращаемое значение
Битовая маска, что Вы можете ПОРАЗРЯДНЫЙ AND с
enumконстантыCMAttitudeReferenceFrameввести.Обсуждение
Например, чтобы определить, ли
CMAttitudeReferenceFrameXMagneticNorthZVerticalдоступно на устройстве, Вы выполнили бы следующий тест:if ([CMMotionManager availableAttitudeReferenceFrames] & CMAttitudeReferenceFrameXMagneticNorthZVertical) {// do something appropriate here}
Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 5.0 и позже.
См. также
-
deviceMotionActiveСвойствоБулево значение, определяющее, получает ли приложение обновления от службы движения устройства. (только для чтения)
Объявление
Swift
var deviceMotionActive: Bool { get }Objective C
@property(readonly, nonatomic, getter=isDeviceMotionActive) BOOL deviceMotionActiveОбсуждение
Это свойство указывает ли
startDeviceMotionUpdatesToQueue:withHandler:илиstartDeviceMotionUpdatesбыл вызван с прошлого разаstopDeviceMotionUpdatesбыл вызван.Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 4.0 и позже.
См. также
-
deviceMotionAvailableСвойствоБулево значение, указывающее, доступна ли служба движения устройства на устройстве. (только для чтения)
Объявление
Swift
var deviceMotionAvailable: Bool { get }Objective C
@property(readonly, nonatomic, getter=isDeviceMotionAvailable) BOOL deviceMotionAvailableОбсуждение
Если устройство имеет и акселерометр и гироскоп, служба движения устройства доступна. Поскольку все устройства имеют акселерометры, это свойство функционально эквивалентно
gyroAvailable.Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 4.0 и позже.
См. также
-
deviceMotionСвойствоПоследняя выборка данных движения устройства. (только для чтения)
Объявление
Swift
var deviceMotion: CMDeviceMotion! { get }Objective C
@property(readonly) CMDeviceMotion *deviceMotionОбсуждение
Если никакие данные движения устройства не доступны, значение этого свойства
nil. Приложение, получающее данные движения устройства после вызоваstartDeviceMotionUpdatesпериодически проверяет значение этого свойства и обрабатывает данные движения устройства.Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 4.0 и позже.
Типы данных
-
Тип блочного обратного вызова для обработки данных акселерометра.
Объявление
Swift
typealias CMAccelerometerHandler = (CMAccelerometerData!, NSError!) -> VoidObjective C
typedef void (^CMAccelerometerHandler)(CMAccelerometerData *accelerometerData, NSError *error);Обсуждение
Блоки типа
CMAccelerometerHandlerкогда существуют данные акселерометра для обработки, вызываются. Вы передаете блок вstartAccelerometerUpdatesToQueue:withHandler:как второй параметр. Блоки этого типа не возвращают значения, но берут два параметра:accelerometerDataОбъект, инкапсулирующий a
CMAccelerationструктура с полями, содержащими ускорение, оценивает за три оси перемещения.errorОшибочный объект представление ошибки встретился в обеспечении обновлений акселерометра. Если ошибка происходит, необходимо остановить обновления акселерометра и сообщить пользователю проблемы. Если нет никакой ошибки, этот параметр
nil. Базовые ошибки Движения имеютCMErrorDomainдомен иCMErrorввести.Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 4.0 и позже.
-
Тип блочного обратного вызова для обработки данных гироскопа.
Объявление
Swift
typealias CMGyroHandler = (CMGyroData!, NSError!) -> VoidObjective C
typedef void (^CMGyroHandler)(CMGyroData *gyroData, NSError *error);Обсуждение
Блоки типа
CMGyroHandlerкогда существуют данные гироскопа для обработки, вызываются. Вы передаете блок вstartGyroUpdatesToQueue:withHandler:как второй параметр. Блоки этого типа не возвращают значения, но берут два параметра:gyroDataОбъект, инкапсулирующий a
CMRotationRateструктура с полями, содержащими скорость вращения, оценивает за три оси перемещения.errorОшибочный объект представление ошибки встретился в предоставлении данных гироскопа. Если ошибка происходит, необходимо остановить обновления гироскопа и сообщить пользователю проблемы. Если нет никакой ошибки, этот параметр
nil. Базовые ошибки Движения имеютCMErrorDomainдомен иCMErrorввести.Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 4.0 и позже.
-
Тип блочного обратного вызова для обработки данных магнитометра.
Объявление
Swift
typealias CMMagnetometerHandler = (CMMagnetometerData!, NSError!) -> VoidObjective C
typedef void (^CMMagnetometerHandler)(CMMagnetometerData *magnetometerData, NSError *error);Обсуждение
Блоки типа
CMMagnetometerHandlerкогда существуют данные магнитометра для обработки, вызываются. Вы передаете блок вstartMagnetometerUpdatesToQueue:withHandler:метод как второй параметр. Блоки этого типа не возвращают значения, но берут два параметра:magnetometerDataОбъект, инкапсулирующий a
CMMagneticFieldструктура с полями, содержащими магнитное поле, оценивает за три оси перемещения.errorОшибочный объект представление ошибки встретился в предоставлении данных магнитометра. Если ошибка происходит, необходимо остановить обновления магнитометра и сообщить пользователю проблемы. Если нет никакой ошибки, этот параметр
nil. Базовые ошибки Движения имеютCMErrorDomainдомен иCMErrorввести.Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 5.0 и позже.
-
Тип блочного обратного вызова для обработки данных движения устройства.
Объявление
Swift
typealias CMDeviceMotionHandler = (CMDeviceMotion!, NSError!) -> VoidObjective C
typedef void (^CMDeviceMotionHandler)(CMDeviceMotion *motion, NSError *error);Обсуждение
Блоки типа
CMDeviceMotionHandlerкогда существуют данные движения устройства для обработки, вызываются. Вы передаете блок вstartDeviceMotionUpdatesToQueue:withHandler:как второй параметр. Блоки этого типа не возвращают значения, но берут два параметра:motionA
CMDeviceMotionобъект, инкапсулирующий другие объекты и отношение представления структуры, скорость вращения, силу тяжести и пользовательское ускорение.errorОшибочный объект представление ошибки встретился в предоставлении данных гироскопа. Если ошибка происходит, необходимо остановить обновления гироскопа и сообщить пользователю проблемы. Если нет никакой ошибки, этот параметр
nil. Базовые ошибки Движения имеютCMErrorDomainдомен иCMErrorввести.Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 4.0 и позже.
-
Тип для Базовых ошибок Движения.
Объявление
Swift
struct CMError { init(_value: UInt32) var value: UInt32 }Objective C
typedef enum { CMErrorNULL = 100, CMErrorDeviceRequiresMovement, CMErrorTrueNorthNotAvailable, CMErrorUnknown, CMErrorMotionActivityNotAvailable, CMErrorMotionActivityNotAuthorized, CMErrorMotionActivityNotEntitled, CMErrorInvalidParameter } CMError;Константы
-
CMErrorNULLНикакая ошибка.
Доступный в iOS 4.0 и позже.
-
CMErrorDeviceRequiresMovementУстройство должно переместиться для выборки данных движения для появления.
Доступный в iOS 5.0 и позже.
-
CMErrorTrueNorthNotAvailableИстинный север не доступен на этом устройстве. Это обычно указывает, что расположение устройства еще не доступно.
Доступный в iOS 5.0 и позже.
-
CMErrorUnknownПроизошла неизвестная ошибка.
Доступный в iOS 7.0 и позже.
-
CMErrorMotionActivityNotAvailableПоддержка действия движения не доступна на текущем устройстве.
Доступный в iOS 7.0 и позже.
-
CMErrorMotionActivityNotAuthorizedПриложение в настоящее время не разрешается использовать поддержку действия движения.
Доступный в iOS 7.0 и позже.
-
CMErrorMotionActivityNotEntitledПриложение пропускает требуемое право.
Доступный в iOS 7.0 и позже.
-
CMErrorInvalidParameterНедопустимый параметр был указан.
Доступный в iOS 7.0 и позже.
Оператор импорта
Objective C
@import CoreMotion;Swift
import CoreMotionДоступность
Доступный в iOS 4.0 и позже.
-
