Pregunta

Estoy corriendo en un problema con algunos de mi código en iPhone3GS ejecución de iOS5.0

El siguiente bloque nunca se ejecutó, incluso a pesar de que se llama bien en el iphone 4 con iOS5.0.

La instrucción de registro no aparece nunca, y el punto de corte que nunca se activa.He comprobado, y tanto la moción del administrador y la cola son no nulos.

  [motionManager startDeviceMotionUpdatesToQueue:motionQueue withHandler:^(CMDeviceMotion *motion, NSError *error) {

            NSLog(@"motion event received");

//...
}];

Me estoy perdiendo algo o tengo que volver a escribir el código para trabajar sin bloquear las colas?
Gracias por el aporte en la ussue!

Actualización:

He comprobado que este método, y funciona:

   [motionManager startAccelerometerUpdatesToQueue:motionQueue withHandler:^(CMAccelerometerData *accelerometerData, NSError *error) {
        NSLog(@"accelerometerData event received");
    }];
¿Fue útil?

Solución

Esto no tiene nada que ver con el bloque de colas.Creo que tu problema es el dispositivo de movimiento de los eventos requieren tanto acelerómetro y giroscopio (y se puede consultar con -deviceMotionAvailable), pero el iPhone 3GS no tiene un giroscopio.Así que incluso los no-bloque basado en el movimiento del dispositivo métodos no funcionan para usted.Usted debe mirar a ver si el acelerómetro por sí sola es suficiente para sus necesidades;de lo contrario tendrás que restringir su aplicación requieren de un giroscopio.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top