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: NSTimeInterval
Objective 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 *)
queue
withHandler:(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
, но это свойство возвратилось быNO
false
.)Оператор импорта
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: NSTimeInterval
Objective 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 *)
queue
withHandler:(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
, но это свойство возвратилось быNO
false
.)Оператор импорта
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: NSTimeInterval
Objective 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 *)
queue
withHandler:(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
, но это свойство возвратилось быNO
false
.)Оператор импорта
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: Bool
Objective C
@property(assign, nonatomic) BOOL showsDeviceMovementDisplay
Обсуждение
Когда устройство требует перемещения (например, для калибровки компаса), значение этого свойства указывает, должен ли быть показан дисплей перемещения устройств системы. Когда устройство требует перемещения, блочного обработчика типа
CMDeviceMotionHandler
отчетыCMErrorDeviceRequiresMovement
ошибка один раз. По умолчанию это свойствоNO
false
.Оператор импорта
Objective C
@import CoreMotion;
Swift
import CoreMotion
Доступность
Доступный в iOS 5.0 и позже.
-
deviceMotionUpdateInterval
СвойствоИнтервал, в секундах, для обеспечения движения устройства обновляет к блочному обработчику.
Объявление
Swift
var deviceMotionUpdateInterval: NSTimeInterval
Objective 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)
referenceFrame
toQueue:(NSOperationQueue *)queue
withHandler:(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 *)
queue
withHandler:(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() -> CMAttitudeReferenceFrame
Objective 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!) -> Void
Objective 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!) -> Void
Objective 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!) -> Void
Objective 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!) -> Void
Objective C
typedef void (^CMDeviceMotionHandler)(CMDeviceMotion *motion, NSError *error);
Обсуждение
Блоки типа
CMDeviceMotionHandler
когда существуют данные движения устройства для обработки, вызываются. Вы передаете блок вstartDeviceMotionUpdatesToQueue:withHandler:
как второй параметр. Блоки этого типа не возвращают значения, но берут два параметра:motion
A
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 и позже.
-