“Tu binario no está optimizado para iPhone 5” después de que cargué una aplicación con xcode 6.0.1

Recibo este correo electrónico después de cargar mi binario con la versión 6.0.1 de Xcode (6A317)

Su binario no está optimizado para iPhone 5 – Las nuevas aplicaciones de iPhone y las actualizaciones de aplicaciones enviadas deben ser compatibles con la pantalla de 4 pulgadas en iPhone 5 y deben incluir una imagen de inicio referenciada en Info.plist bajo UILaunchImages con un valor UILaunchImageSize establecido en {320, 568}. Las imágenes de inicio deben ser PNG y ubicadas en el nivel superior de su paquete, o dentro de cada carpeta .lproj si localiza sus imágenes de inicio. Obtenga más información sobre el soporte de iPhone 5 y las imágenes de lanzamiento de aplicaciones revisando las ‘Pautas de interfaz humana de iOS’ en ‘ https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/IconsImages/IconsImages.html#/ / apple_ref / doc / uid / TP40006556-CH14-SW5 ‘y la’ Guía de progtwigción de aplicaciones de iOS ‘en’ https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/App-RelatedResources/App -RelatedResources.html # // apple_ref / doc / uid / TP40007072-CH6-SW12 ‘.

Aquí está mi archivo plist:

enter image description here

Aquí está mi árbol de Xcode:

enter image description here

Aquí está mi árbol raíz de paquete:

enter image description here

Este es el único recurso que pude encontrar sobre este tema, pero sigue sin respuesta (hace 3 días) … https://devforums.apple.com/message/1051948#1051948

Nos enfrentamos al mismo problema y no pudimos resolverlo después de probar muchas soluciones, creemos que es una especie de error en el envío de la aplicación. Pero encontramos una solución que puede mantener las imágenes de lanzamiento localizadas y pasar la verificación de envío.

Ambiente:

Xcode 6.1 (6A1052c) con iOS 8.1 SDK

Condición previa:

Tenga las siguientes propiedades en su archivo “* -info.plist”.

enter image description here

Pasos:

  1. Vaya a la configuración de su destino y en nuestro escenario estándar (localizar imágenes de inicio, que usa “UILaunchImages” en “* -info.plist” pero no en activos de imagen), debe verse como la imagen enter image description here

  2. Cambie la configuración para usar activos de imagen (Nota: después de este paso, Xcode eliminará automáticamente las propiedades “UILaunchImages” en su archivo * -info.plist. Por lo tanto, haga una copia de seguridad de las propiedades primero).

  3. Vaya a los activos de “LaunchImage” (puede hacer clic en el botón de flecha a la derecha) y llene las imágenes de una de sus carpetas * .lproj. enter image description here

  4. Ahora, vaya a la carpeta “LaunchImage” que contiene imágenes y el archivo “Contents.json”. enter image description here

  5. Quite TODAS las IMÁGENES de inicio recién agregadas, pero mantenga el archivo “Contents.json” (y su contenido).

  6. Compruebe el “Contenido.json”, debe contener propiedades como la imagen a continuación enter image description here

Verifique los siguientes artículos:

  • Imágenes de inicio localizadas en carpetas de recursos (en.lproj, ja.lproj, etc.)

  • * -info.plist contiene propiedades de “UILaunchImages”

  • La configuración del proyecto utiliza un elemento de imagen para las imágenes de lanzamiento

  • “Contents.json” en la carpeta de activos “LaunchImage”, y la carpeta NO tiene realmente imágenes de inicio

Ahora puede intentar imágenes de lanzamiento localizadas y enviar el binario a iTunes Connect. En nuestra aplicación, la solución funcionaba para ” imágenes de lanzamiento localizadas ” y ” presentación exitosa “.

Debería ser un truco para evitar el error en la verificación de envío.

Debido a que la solución anterior no cambia ningún recurso, salvo que la verificación crea que utilizamos activos de imagen, estamos más convencidos de que hay algunos errores en la comprobación de Apple.

¡Aclamaciones!

Esto me pasó a mí también. Desde iOS6 (creo) si localizas tu aplicación, debes ser consistente en todo momento. Tiene inglés, holandés y francés como idiomas que veo en la captura de pantalla. Debe tener estos idiomas POR TODAS PARTES que haga la localización. Los archivos de localización de cadenas deben tener todos estos idiomas, pero no más idiomas. Obtuve la misma respuesta cuando utilicé la biblioteca de AppiRater para una aplicación. AppiRater tiene mensajes en varios idiomas y mi aplicación está traducida solo a 2 idiomas. Así que tuve que eliminar todos los otros archivos de cadena de AppiRater, excepto los 2 que necesitaba. Una vez que hice eso, todo salió bien.

Entonces la respuesta corta es: elimine cualquier archivo de localización extra que no necesite y agregue archivos de localización que faltan en su aplicación.

¡Aclamaciones!

Editar por danielgindi

Esto realmente funciona, a pesar de algunas afirmaciones de que esta respuesta es irrelevante. Me pasó a mí cuando comencé a usar la localización base en una aplicación, y todavía tenía algunos recursos localizados en la carpeta en.lproj , incluidos los Default.png .

De modo que puede asegurarse de que tiene el archivo Default-568h@2x.png en todas las carpetas de localización que está utilizando, o bien eliminar las localizaciones que no está utilizando. Acabo de mover todo para estar en Base.lproj , así que de esta manera está claro qué png está tomando, y no hay duplicados.

Para ser más claro:

  1. Cambia la fuente de tu imagen de inicio a “Iniciar imagen” (sigue los pasos 1 a 3 en la respuesta de @Charlie Hung).

enter image description here

  1. Haga clic derecho en su proyecto y seleccione ‘Mostrar en el buscador’
  2. Encuentra la carpeta Assets.xcassets y ábrela
  3. Abra la carpeta LaunchImage.launchimage y mueva sus dos imágenes a la carpeta .Iproj que encontrará en su proyecto. (El mío se llamaba Base.Iproj).

Finalmente, agregue esto a su info.plist (abrir en el editor de texto):

 UILaunchImages   UILaunchImageMinimumOSVersion 7.0 UILaunchImageName iOS7-Default  UILaunchImageOrientation Portrait UILaunchImageSize {320, 480}   

Esto es todo lo que tenía que hacer.

En mi caso, estaba actualizando una aplicación anterior. Resultó que me faltaba un archivo de icono llamado: launchiPhone5-568h@2x.png con dimensiones de 320×568. Encontré esto mirando las advertencias. Creé el archivo, lo agregué a mi proyecto con los otros archivos de icons y funcionó bien.

Espero que ayude a alguien 🙂

Haz lo que Charlie y Dan recomiendan Y asegúrate de que los nombres de tus archivos de imagen no tengan guiones. El mío no funcionó hasta que cambié el nombre de los archivos como alfanuméricos.

Obtuve el mismo error, pero en mi caso no tenía el archivo del guión gráfico (xib) para la imagen de inicio, que es necesario:

“Usas un archivo XIB o un guión gráfico para indicar que tu aplicación se ejecuta en iPhone 6 Plus o iPhone 6.” ( ver aquí )

Seguí este tutorial para crearlo: https://developer.xamarin.com/recipes/ios/general/templates/launchscreen-xib/

Para el paso 9 de la turorial, en Info.plist, establecí:

 UILaunchImageFile~iphone Launch Screen.storyboard 

info.plist agregando la imagen de inicio de la tecla y el archivo del guión gráfico de la cadena

Solo para verificar, cuando ejecuta su aplicación, debería ver la imagen de la pantalla de inicio antes de que se cargue. Después de hacer esto, pude subir la aplicación a la tienda de aplicaciones.

Los pasos mostrados anteriormente en otras respuestas también son importantes: “Si también necesita soportar versiones anteriores de iOS, puede continuar suministrando imágenes de inicio estáticas además de un archivo de inicio”. ( ver aquí )

Espero que esto ayude.

Obtuve el mismo error en el entorno de despliegue 9.3 y swift 2.3 y en mi caso no tenía el archivo del guión gráfico (xib) para la imagen de lanzamiento, que es necesario y mi configuración era incorrecta en la configuración de destino de los proyectos, vea el enlace de la imagen a continuación :

Imagen de la configuración

Tal vez esto sea útil para algunos tipos: simplemente cambie el iOS Deployment Target de 7.0 a 8.1 o superior.

enter image description here

Me encontré con este problema cuando quiero subir una aplicación a la tienda de aplicaciones creada por react-native 0.37, y su iOS Deployment Target predeterminado es 7.0.