Вы можете получить доступ к вращению устройства через CMMotionManager
, который вычисляет радианы на основе необработанных данных (акселерометр, гироскоп и т. Д.). Убедитесь, что вы включили обновления датчика:
if (motionMng.deviceMotionAvailable && !motionMng.deviceMotionActive) {
motionMng.deviceMotionUpdateInterval = 1.0 / 50.0;
[motionMng startDeviceMotionUpdates];
}
Затем вращение доступа - pitch
(x), roll
(y) и yaw
(z) - путем запроса объекта attitude
:
CMDeviceMotion *motion = [motionMng deviceMotion];
if (motion != NULL) {
float pitch = motion.attitude.pitch;
float roll = motion.attitude.roll;
float yaw = motion.attitude.yaw;
NSLog(@"ROTATION: x:%f y:%f z:%f", pitch, roll, yaw);
}