Restringir a ciertos dispositivos de destino de iOS para el envío de App Store

He tenido un envío de iTunes App Store rebotando debido a problemas que se ejecutan en el hardware del iPhone 4.

Básicamente, la aplicación está escrita para agrupar toda la actividad de red en una cadena de fondo para que la interfaz de usuario no se bloquee mientras espera que el servidor responda en una conexión de datos lenta (celular). Esto funciona bien en dispositivos de doble núcleo como el iPad 2 + iPhone 4S, pero causa tiempos de respuesta y errores lentos en hardware antiguo de un solo núcleo como el iPad / iPhone 4.

Sí, incluí notas al respecto en mi presentación, pero me preguntaba si había una manera formal de restringir el dispositivo objective en iTunes Connect.

¡Aclamaciones!

Desafortunadamente, por el momento no, hay una lista de opciones disponibles para restringir al usuario la compra de la aplicación, pero no hay nada para restringir debido a los núcleos.

Lista: http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html

En realidad, puede haber una manera:

Agregar un elemento a UIRequiredDeviceCapabilities en su Info.plist con el requisito de bluetooth-le debe limitar su aplicación a iPhone 4S / 5 y iPad 3, 4 y mini. También podría incluir un requisito de camera-flash para limitar la aplicación a iPhones solamente, si lo necesita.

Ver DeviceCompatibilityMatrix

Acabo de encontrar lo siguiente al examinarlo: esto debería ayudarlo a enviar y aprobado por Apple, ya que son las pautas de Apple.

Compatibilidad del dispositivo

El archivo de lista de propiedades de información (Info.plist) contiene información crítica sobre la configuración de su aplicación y debe incluirse en el paquete de su aplicación. Cada nuevo proyecto que crees en Xcode tiene un archivo predeterminado Info.plist configurado con información básica sobre tu proyecto. Puede modificar este archivo para especificar detalles de configuración adicionales para su aplicación.

La clave UIRequiredDeviceCapabilities le permite declarar el hardware o las capacidades específicas que su aplicación necesita para ejecutarse. Se requiere que todas las aplicaciones tengan esta clave en su archivo Info.plist. App Store utiliza el contenido de esta clave para evitar que los usuarios descarguen su aplicación en un dispositivo que posiblemente no pueda ejecutarla. Las tablas de este capítulo muestran todos los dispositivos iOS y sus capacidades.

Espero que haya ayudado.

Solo puede restringir su aplicación para iPhone o iPad en la configuración del proyecto, restringiendo también la publicación en la App Store .

Vea dónde puede establecer el tipo.

enter image description here

Para restringir algunos modelos como el iPhone 4/4s , debe hacer esto programáticamente obteniendo el tamaño y redirigiendo a algún ViewController informándole que su aplicación no es compatible con este modelo.

Vea aquí cómo obtener el tamaño de la pantalla.

 CGSize result = [[UIScreen mainScreen] bounds].size; switch ((int) result.height) { case 480: NSLog(@"iPhone 4 / 4s"); break; case 568: NSLog(@"iPhone 5 / 5c / 5s"); break; case 667: NSLog(@"iPhone 6 / 6s"); break; case 736: NSLog(@"iPhone 6+ / 6s+"); break; default: NSLog(@"Other screen size, could be an iPad or new device model."); break; } 

Es importante recordar que Apple desea el máximo soporte posible para sus aplicaciones y que el soporte para un modelo específico no puede rechazar su aplicación. Pero si solo no admite el iPhone 4/4s , probablemente lo publique como de costumbre. En primer lugar, intente adaptar su código para usar el diseño automático; solo si no es posible, puede restringirlo según el modelo de dispositivo.

Tengo una aplicación publicada y restringir para iPhone 4s . Está aprobado como usal.