CMDeviceMotion не предоставляет информацию об отношении - PullRequest
1 голос
/ 18 августа 2011

По какой-то причине мой iPad2 не предоставляет информацию об ориентации движения.Я делаю AFAIK именно то, что люди говорят, но все же ... нет данных.

float angle = 0;
CMDeviceMotion *deviceMotion;      
CMAttitude *attitude;
deviceMotion = motionManager.deviceMotion;  
if (deviceMotion) {
    attitude = deviceMotion.attitude;

    [attitude multiplyByInverseOfAttitude:referenceAttitude];
    angle = [attitude roll];
} else {
    NSLog (@"Cannot get angles.");
}

Ранее в своем коде я делаю это:

    motionManager = [[CMMotionManager alloc] init];
    if (motionManager.gyroAvailable) {          
        [motionManager startGyroUpdates];
    } 

Однако я никогда не понимаю,Помощь

1 Ответ

3 голосов
/ 18 августа 2011

Вы получаете ориентацию только в том случае, если используете обновления движения устройства, т. Е. Вы должны вызывать initialisaiton:

if (![motionManager isDeviceMotionActive]) {
    [motionManager startDeviceMotionUpdates];
}

и stopDeviceMotionUpdates при переходе в фоновый режим.

...