Pregunta

Tengo un software-hardware relacionados con el tema que estoy tratando de solucionar.Mi aplicación fue desarrollada para iPhone4, iOS5 y usos Básicos de Movimiento de marco para el proceso de acelerómetro y giroscopio de datos en tiempo real.La aplicación produce un error cuando se ejecuta en el iPhone 3GS con iOS5

Mi principal núcleo-método de movimiento se parece a esto:

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

            //notify calibration delegate
            if(calibrationDelegate)
            {
                [calibrationDelegate collectCalibrationMotionData:motion];
            }
//a lot more processing

}

Tengo informes de que 3gs no vuelve en sí para isGyroAvailable, mientras que el iPhone4 devuelve sí.

 BOOL accelerometerAvailable  =  (motionManager.isAccelerometerAvailable)?YES:NO;
 BOOL gyroscopeAvailable      =  (motionManager.isGyroAvailable)?YES:NO;

        if(!accelerometerAvailable && ! gyroscopeAvailable)
        {
//handle error
            remoteControlState = kRemoteControlStateError;

        }

He dolorosamente descubierto que Apple vende mi app para los clientes con iPhone4, 4s Y 3GS. La aplicación no funciona para los clientes con iPhone 3GS, ya que la llamada anterior no parece pasar el movimiento de los objetos para la calibración de delegado.

Yo no tengo iPhone 3GS para probar la aplicación, así que tengo un par de preguntas:

  • Es posible especificar cualquier lugar en el proyecto de XCode propiedades que yo quiero que mi aplicación para que se ejecute SÓLO en iPhone4 y de arriba? (o dispositivos con giroscopio disponible?)

    ¿Dónde puedo encontrar más información en iOS5 peculiaridades como la de arriba para entender mejor cómo iPhone3GS difiere de iPhone4?

¿Fue útil?

Solución

Es posible especificar cualquier lugar en el proyecto de XCode propiedades que yo quiero que mi aplicación para que se ejecute SÓLO en iPhone4 y de arriba?(o dispositivos con giroscopio disponible?)

Sí, tendría que especificar tales dependencias en el UIRequiredDeviceCapabilities la clave de su Información.plist (gyroscope sería el requisito en este caso).

Sin embargo, para una versión de la aplicación, es por desgracia imposible para añadir nuevos requisitos.

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