react icon app ios8 xcode6 xcasset launchimage

ios8 - icon - La imagen de inicio no aparece en mi aplicación iOS



react native splash screen (28)

Así que esto ha sido bastante doloroso para algo que debería ser trivial. Aquí esta lo que hice:

Use xcassets

Decidí usar .xcassets versus .xib para el lanzamiento. Eliminé el .xib. Si ya tiene images.xcassets en su proyecto, excelente, de lo contrario puede agregar uno desde Archivo> Nuevo> archivo:

Crear un conjunto de imágenes de lanzamiento

Ahora cree como mínimo un conjunto de imágenes de lanzamiento y un conjunto de iconos en su archivo .xcassets haciendo clic derecho en el área del navegador.

Actualice los iconos de la aplicación y la configuración de Iniciar imágenes

Luego me aseguré de que el "icono de aplicaciones y los conjuntos de imágenes" en mi objetivo sean los siguientes.

Muy importante: asegúrese de que la configuración "Iniciar archivo de pantalla" esté en blanco.

Agregar las imágenes

Por último, pero no menos importante, la terminología utilizada por Apple para la selección del dispositivo es confusa. Inicialmente pensé que, dado que estoy implementando solo para iOS8 (iPhone Portrait), puedo hacer esto y solo poner las imágenes de lanzamiento del iPhone 6 y iPhone 6+:

Rápidamente me di cuenta de que no funciona así y recibí una advertencia: "Se requiere una imagen de inicio de iPhone Retina (4 pulgadas) para iOS 7.0 y posterior".

Así que también tuve que seleccionar el iPhone con iOS 7.0 y posterior y agregar una imagen para el iPhone 5s.

Entonces, para averiguar qué casillas marcar a la derecha, no haga la pregunta: ¿Cuál es mi orientación mínima de iOS y dispositivo y dispositivo?

¿Qué dispositivos pueden soportar mi iOS mínimo? ¿Cuál es el mínimo de iOS compatible con esos dispositivos? Y asegúrese de marcar todas esas casillas. Entonces, para mí, estoy apuntando al iPhone 5s, 6 y 6 Plus a 8.0, pero dado que el iPhone 5s puede existir con 7.0, también necesito marcar la casilla 7.0 para mostrar el marcador de posición de la imagen. En otras palabras, la casilla de verificación (iOS) a la derecha le muestra la versión mínima de iOS disponible para ese dispositivo y debe hacer clic para mostrar el marcador de posición de la imagen y colocar una imagen independientemente de si está implementando en esta versión de iOS o no .

Espero que esto ayude a alguien.

Quiero obtener una pantalla de inicio simple para mostrar en mi aplicación, creada con Xcode 6.0.1.

He agregado una pantalla de inicio de dos maneras: como XIB (con el nombre predeterminado, LaunchScreen.xib) y como un conjunto de imágenes de lanzamiento dentro de xcassets.

Me he asegurado de que mi "Launch Screen File" esté configurado en LaunchScreen.xib.

He simulado todos los dispositivos disponibles (por ejemplo, "iPhone5 iOS8" / "iPhone5s iOS8" / "iPhone6 ​​iOS8". Tenga en cuenta que solo iOS 8 está disponible dentro del simulador).


Configuré "LaunchImage" en mi catálogo de activos y simplemente borré el campo "Launch Screen" y ¡listo! Las imágenes de lanzamiento aparecieron ...


Después de varias horas frustrado por esto, decidí usarlo de esta manera. Funciona tanto para iPhone como para iPad (en Xcode 6.1)

  1. Archivo >> Nuevo archivo >> Interfaz de usuario >> Pantalla de inicio
  2. Cree una nueva clave / valor: "Nombre base del archivo de interfaz de pantalla de inicio" / "Su nombre de pantalla de inicio" en YourApp-Info.plist

1 imagen vale más que mil palabras. Por favor mira a continuación:


El LaunchScreen.xib y el Launch screen interface file base name valor de información son, según mi experiencia, ambos marcadores de posición que se crean cuando se crea el proyecto. Si desea utilizar las Images.xcassets exclusivamente para sus pantallas de inicio, elimine tanto el elemento LaunchScreen.xib como el elemento info.plist .

Si proporciona la configuración de info.plist , su aplicación utilizará xib y no sus Images.xcassets


El problema con la respuesta aceptada es que si no configura el archivo de pantalla de inicio, su aplicación estará en modo de escalado en dispositivos como el iPhone 6 y 6+ => representación borrosa.

A continuación se muestra lo que hice para tener una solución de trabajo completa (estoy apuntando a iOS 7.1 y usando Xcode 8) en cada dispositivo (realmente, me estaba volviendo loco por este problema de escalamiento)

1. Prepare sus .xcassets

Para simplificarlo, estoy usando un archivo vectorial .PDF. Es muy conveniente y evita crear múltiples imágenes para cada resolución (1x, 2x, 3x ...). También supongo que aquí ya creaste tus xcassets.

  • Agregue su imagen de pantalla de inicio (o archivo vectorial) a su proyecto
  • Vaya a sus .xcassets y cree un nuevo conjunto de imágenes . En la ventana Atributos de la imagen, seleccione Escalas -> Escala única
  • Arrastre y suelte el archivo vectorial en el Conjunto de imágenes.

2. Cree su archivo de pantalla de inicio

3. Agregue su imagen a su archivo de pantalla de inicio

  • Agregue un objeto Vista de imagen a su archivo de Pantalla de inicio (elimine las etiquetas que se crearon automáticamente). Esta vista de imagen debe hacer referencia al conjunto de imágenes .xcassets anterior. Puede referirlo desde el atributo Nombre . En esta etapa, debería ver correctamente la imagen de la pantalla de inicio en su vista de imagen.
  • Agregue restricciones a esta vista de imagen para mantener la relación de aspecto dependiendo de la resolución de la pantalla.

4. Agregue su archivo de pantalla de inicio a su objetivo

Finalmente, en las propiedades generales de Target, consulte el archivo de pantalla de inicio.

Inicie su aplicación, y su pantalla de presentación debería aparecer. Pruebe también en iPhone6 ​​y iPhone6 ​​+, y su aplicación debería mostrarse correctamente sin ningún aumento de escala (el archivo de pantalla de inicio tiene como objetivo hacer esto).


Eliminar el "Nombre base del archivo de la interfaz de la pantalla de inicio" del archivo Info.plist Y desechar "Launch Screen.xib" funcionó para mí.


Encontré este error también con mi aplicación de solo paisaje. La siguiente solución de carlodurso funciona:

  1. marque la casilla "Paisaje"
  2. arrastre y suelte la imagen al lugar.

Esto me funcionó. Haga clic en LaunchScreen.storyboard y luego en el panel derecho puede seleccionar la casilla de verificación "Es el controlador de vista inicial".

LaunchScreen.storyboard -> es el controlador de vista inicial


Hay un archivo ''LaunchScreen.xib'' agregado automáticamente a su proyecto Al eliminar esto, cambiará xCode para usar sus imágenes predeterminadas en Images.xcassets

editado para agregar, vaya a Iconos de la aplicación e imágenes de inicio El archivo de pantalla de inicio debe estar en blanco / vacío


Hay un error en el que las imágenes de lanzamiento de Xcode 6 almacenadas en archivos de activos provocan que las aplicaciones de iPhone solo en iOS7 / iOS8 muestren una imagen de inicio negra. El iPad funciona bien.

http://www.raywenderlich.com/forums/viewtopic.php?f=2&t=10868

Solución: utilice el nuevo Launchscreen.xib para ios8 + en adelante. (es mucho mejor)

Para que los dispositivos ios7 funcionen, simplemente apague la fuente de imágenes de inicio y use los nombres de archivos de imágenes de inicio de la vieja escuela en la lista

iphone5 - [email protected] iphone4s - [email protected] ipad2 - Default-Landscape~ipad.png ipad retina - Default-Landscape@2x~ipad.png

Doloroso pero funciona. si


Haz lo que respondió Spectravideo328 y:

Intente DESHABILITAR el casillero iOS 7 y posterior y MARQUE el casillero iOS 6 y anterior en el catálogo de activos. Parece que hay un error con la imagen de lanzamiento de iOS 7. (Ambos tienen las mismas imágenes de lanzamiento, excepto la de 320x480)

Espero que esto ayude, ¡me ayudó!


He intentado todo pero la solución fue extremadamente simple. Simplemente use el archivo .jpg en lugar de .png en su LaunchScreen.storyboard. Parece que iOS no representa el archivo .png o el tamaño de imagen relativamente grande en la pantalla de inicio.


Intenté abrir un nuevo proyecto y seguir los mismos pasos que hiciste para configurar una pantalla de inicio.

Por defecto, el .xib estaba configurado como "Iniciar archivo de pantalla", y la pantalla blanca con una etiqueta se mostró durante medio segundo en el simulador.

Luego hice un "Iniciar fuente de imágenes" y lo configuré en el archivo Images.xcassets que se generó con las imágenes de fondo que agregué al proyecto. (todo bien hasta ahora)

Vuelva a ejecutar el simulador y las imágenes de lanzamiento no se muestran ...

Después de eliminar el "Archivo de pantalla de inicio" especificado y una limpieza: Producto -> Limpiar, desde el menú superior, finalmente aparecen las imágenes de inicio.

Tal vez eso ayude?


Leí sobre un error en Xcode 6 que impide que las aplicaciones de solo paisaje muestren una imagen de inicio.

Intente establecer imágenes y orientación dentro de Images.xcassets:


Me acabo de dar cuenta de esto. Mi imagen de inicio no se mostraba, aparece una pantalla en blanco cuando se inicia en un dispositivo (iPhone 6, 7+) o testFlight. Solución: se cambió el nombre de "Landing_screen.png" a solo "Landing_screen" eliminando la parte .png. El ícono de la imagen en Xcode cambió a ícono blanco y en el guión gráfico de la pantalla de inicio la imagen aparece ahora como un signo de interrogación. Ahora aparece la imagen de lanzamiento y no la pantalla en blanco. Mi configuración: estoy usando Swift 3.1 con Xcode 8.3.1. En LaunchScreen.storyboard agregué una vista de imagen simple y estiré la imagen para que se ajuste al controlador de vista. Establecí las restricciones de diseño automático en el espacio Superior / Inferior / Principal / Traciente a la vista general a 0.


Mi solución fue crear todas las imágenes de lanzamiento.

Luego configuro la Fuente de imágenes de inicio en el recurso LaunchImage y dejo en blanco el archivo de pantalla de inicio.

Finalmente, si el proyecto no tiene un Launch Screen.xib, agregue ese archivo y déjelo como está.


Para las personas que están usando la Asset Catalog''s Launch Image , como aprendí esto de la manera más difícil, tuve este escenario donde primero me dieron un archivo jpg luego les pedí que lo convirtieran a PNG .

Confié en ellos lo suficiente como para buscar primero en Internet por qué no se mostraba la imagen de lanzamiento e hice todas las soluciones en vano, luego intenté volver a colocar la imagen de lanzamiento anterior y funcionó bien, fue allí donde pensé lo que tener no es un archivo PNG adecuado.

TL; DR: asegúrese de estar utilizando un archivo PNG adecuado, no un archivo con una extensión renombrada.


Para mí, funcionó cuando desinstalé la aplicación y luego reinicié el simulador. Cuando se instala nuevamente, la imagen de inicio aparece como se esperaba. Esto también funcionó en un dispositivo real.


Para mí, funciona cuando LaunchScreen.xib y lo cambio a un archivo de guión gráfico LaunchScreen.storyboard .


Por alguna razón, tuve que cambiar la ubicación del catálogo de activos a "relativa al proyecto" para que esto funcione.

También eliminé la aplicación de mi teléfono y la reinstalé, pero probablemente fue el "pariente del proyecto" lo que lo hizo.


Si ha cambiado su imagen de inicio de una imagen anterior, y observe lo siguiente:

  • los dispositivos / simuladores donde se instaló la aplicación anteriormente, aún muestran la imagen anterior y se niegan a mostrar la nueva (desinstalar y reinstalar la aplicación no ayuda)
  • dispositivos / simuladores donde la aplicación no estaba instalada previamente, muestra la nueva imagen de inicio

Es probable debido al almacenamiento en caché de la imagen de lanzamiento realizada por iOS. Reiniciar el dispositivo debería resolver el problema.


Simplemente eliminar y reinstalar la aplicación funcionó para mí:

  • Pruebas en el simulador

    1. Eliminar la aplicación en el simulador.
    2. Salga y reinicie el simulador.
    3. Ejecute el proyecto nuevamente en Xcode.
  • Prueba en dispositivo

    1. Eliminar la aplicación del dispositivo.
    2. Ejecute el proyecto nuevamente en Xcode.

Tuve el mismo problema después de que comencé a usar Xcode 6.1 y cambié las imágenes de mi lanzador. Tenía todas las imágenes en un Catálogo de activos. Solo obtendría una pantalla negra en lugar de la imagen estática esperada. Después de probar tantas cosas, me di cuenta de que el problema era que el Catálogo de activos tenía el Proyecto ''Membresía objetivo'' marcado en su vista FileInspector. Marcarlo en ON hizo la magia y la imagen comenzó a aparecer en el lanzamiento de la aplicación.


Tuve un error muy extraño. Aparentemente, mi fuente de imagen de inicio solo se configuró para la configuración de depuración y no se lanzó. Esto dio como resultado que mi pantalla de inicio apareciera cuando ejecutaba la configuración de depuración, pero cuando cambié para liberar me apareció una pantalla en negro.

Solucioné esto cuando cambié mi configuración de compilación para que apareciera el botón Iniciar fuente de imagen y tuve que elegir Usar catálogo de activos nuevamente.

Para aquellos que tienen curiosidad, así es como se veía mi project.pbxproj.

... ... ... XXXXXXXXXXXXXXXXXXXXXXXX /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; <---THIS LINE WAS MISSING ... ... ...


Una forma es agregar también "Pantalla de LaunchScreen.xib " ( LaunchScreen.xib ), pegar la imagen en UIImageView y luego configurarla en " Centro horizontal en contenedor " y " Centro vertical en contenedor " en "Alinear" si está utilizando Diseño automático.

Pantalla: http://i.stack.imgur.com/CfnHT.png

No olvide poner LaunchScreen.xib en "Iniciar archivo de pantalla".


Xcode 8:

Las imágenes utilizadas en LaunchScreen.xib no deben estar en un .xcassets, intente colocarlas en el paquete.

Parece que para cuando se carga el .xib, las imágenes en los .xcassets aún no están disponibles.

EDITAR: por alguna razón opaca después de agregar algunas localizaciones, la pantalla de inicio dejó de funcionar, ahora funciona con una imagen de los activos, extremadamente extraña.


* (Xcode 7.2 / Objetivo de implementación 7.0 / Orientación horizontal solamente) *

Sé que es una pregunta antigua, pero con Xcode 7.2 todavía recibo el mensaje y lo solucioné con esto:

1) Seleccione RETRATO y ambos paisajes. Agregue "Iniciar fuente de imágenes" y "Iniciar archivo de pantalla"

2) En su Imagen de lanzamiento, seleccione iPhone "8.0 y posterior" y "7.0 y posterior".

3) Agregue este código en su aplicación Delegue:

#if __IPHONE_OS_VERSION_MAX_ALLOWED < 90000 - (NSUInteger)supportedInterfaceOrientations { return UIInterfaceOrientationMaskLandscape; } #else - (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window { return (UIInterfaceOrientationMaskLandscape); } #endif

4) Agregue esto en su ViewController

#if __IPHONE_OS_VERSION_MAX_ALLOWED < 90000 - (NSUInteger)supportedInterfaceOrientations #else - (UIInterfaceOrientationMask)supportedInterfaceOrientations #endif { return UIInterfaceOrientationMaskLandscape; }

Espero ayudar a alguien más.


  • Asegúrese de que sus imágenes tengan un tamaño preciso de acuerdo con las pautas de Apple.
  • Asegúrese de seleccionar solo una opción, ya sea iniciar archivo de pantalla o Iniciar fuente de imagen. Puede encontrar estas dos opciones en Configuración de compilación del proyecto -> General

Mi sugerencia para usted es seleccionar Iniciar fuente de imagen como Image.Assets. Cree recursos de imagen de bienvenida allí en la carpeta Image.assests.

Imagen de referencia para la configuración correcta: