2012-05-16 23 views
14

Estoy desarrollando una aplicación para iOS con ZBar SDK para escanear códigos QR. Here ZBar SDK creators tell us que¿Cómo configurar la aplicación iOS para trabajar en dispositivos específicos?

Sólo el iPhone 3GS y el iPhone 4 son compatibles, ya que tienen una cámara con enfoque automático. La biblioteca ZBar no es compatible con el iPhone 3G y es poco probable que alguna vez lo apoye.

Así que he agregado auto-focus-camera clave para la sección Required Device Capabilities de mi plist. Todo es genial, excepto una cosa: iPad 2 & iPod Touch 4th Gen no tiene cámara de enfoque automático, pero aún puede usar mi código ZBar SDK para escanear códigos QR. Pero mi clave auto-focus-camera no permite a los usuarios con iPad 2 y iPod Touch 4th Gen descargar mi aplicación de la App Store.

En otras palabras, tengo que encontrar una manera de hacer mi aplicación instalable a través de la App Store en estos dispositivos:

  1. iPhone 3GS.
  2. iPhone 4.
  3. iPhone 4S.
  4. iPad 2.
  5. El nuevo iPad.
  6. tacto 4to generador

Y en estos dispositivos mi aplicación no debe estar disponible:

  1. iPhone 2G.
  2. iPhone 3G.
  3. iPad.
  4. iPod Touch 3d Gen y

Mi pregunta es: cómo hacer que mi aplicación disponible en la App Store para los dispositivos de los primeros de la lista de usuario y no está disponible para la segunda lista de los dispositivos de los usuarios?

¡Cualquier ayuda será apreciada!

PD: He visto this question on SO, pero no me ayuda demasiado.

PS2: This app tiene el conjunto deseado de dispositivos disponibles.

Requisitos: Compatible con iPhone 3GS, iPhone 4, iPhone 4S, iPod touch (cuarta generación), iPad 2 Wi-Fi, iPad 2 Wi-Fi + 3G, iPad (tercera generación) y iPad Wi -Fi + 4G.

¿Alguien sabe cómo lo hicieron?

PS3: Al mismo tiempo, la adición tanto still-camera y auto-focus-cameragives us this:

Requisitos: Compatible con iPhone, iPod touch (cuarta generación), iPad 2 Wi-Fi, iPad 2 Wi-Fi + 3G , iPad (3ra generación) y iPad Wi-Fi + 4G.

Y eso no es una buena manera, siempre y cuando tengamos todos los iPhones adecuados para nuestra aplicación, en lugar de 3GS, 4 y 4S.

PS4: Mi aplicación is here y tiene tales requisitos:

Requisitos: Compatible con iPhone 3GS, iPhone 4 y iPhone 4S.

Respuesta

2

Necesitamos usar la clave video-camera en la sección Required Device Capabilities de la aplicación.

5

no estoy seguro de que usted puede hacer que

Tal vez usted puede hacer una comprobación en el código y si el modelo de dispositivo no es el bueno, sólo pop una nueva visión diciendo que el modelo que el usuario está utilizando no puede hacer que la aplicación funcione?

Puede detectar el modelo con esto:

#import <sys/utsname.h> 

NSString* 
machineName() 
{ 
    struct utsname systemInfo; 
uname(&systemInfo); 

return [NSString stringWithCString:systemInfo.machine 
          encoding:NSUTF8StringEncoding]; 
} 

y darle que:

@"i386"  on the simulator 
@"iPod1,1" on iPod Touch 
@"iPod2,1" on iPod Touch Second Generation 
@"iPod3,1" on iPod Touch Third Generation 
@"iPod4,1" on iPod Touch Fourth Generation 
@"iPhone1,1" on iPhone 
@"iPhone1,2" on iPhone 3G 
@"iPhone2,1" on iPhone 3GS 
@"iPad1,1" on iPad 
@"iPad2,1" on iPad 2 
@"iPhone3,1" on iPhone 4 
@"iPhone4,1" on iPhone 4S 

cosa que se pueda probar enviando un correo electrónico a manzana

+1

Gracias, he pensado en ese enfoque, pero me gustaría no dejar que un usuario instale mi aplicación incluso si tiene un dispositivo incompatible, porque toda mi aplicación depende de la versión del dispositivo. Imagine que instala una aplicación y, después del primer lanzamiento, recibe el mensaje "Lo siento, pero no puede usar esta Aplicación porque su dispositivo no es compatible". Eso no es una forma fácil de usar. –

+1

Puede decir en la descripción de la aplicación que no está funcionando con tal o tal modelo, y después de que es su culpa si no lo lee: P –

+1

Jeje, buen punto, pero eso todavía no es una forma fácil de usar :) –

8

Word Lens requiere la armv7 , opengles-2 y video-camera capacidades del dispositivo.

+1

Ahora mismo creo que 'video-camera' es la solución :) –

Cuestiones relacionadas