¿Cómo habilitar la resolución nativa para aplicaciones en iPhone 6 y 6 Plus?


194

Xcode 6 GM ahora incluye simuladores para iPhone 6 y 6 Plus, y por defecto ejecutan aplicaciones en modo escalado.

Para habilitar el nuevo tamaño de pantalla, traté de agregar lo Default-667h@2x.pngque parece ser una parte del truco ya que la aplicación ahora no puede ejecutarse, con el error "No se puede ejecutar la aplicación en el simulador: se encontró un error durante la ejecución (Domain = LaunchServicesError, Código = 0) ".

¿Alguien ha descubierto cómo ejecutar una aplicación en la resolución 6/6 +?


16
Como otros han dicho, el truco consiste en agregar una imagen de lanzamiento del tamaño correcto a su proyecto. Escribí una guía rápida sobre cómo agregar una imagen de inicio para que pueda mostrar la resolución del iPhone 6 aquí.
matthewpalmer


2
El nombramiento de imágenes es diferente para iphone 6/6 +. Para mí, solo agregar la imagen de lanzamiento para 6 y 6+ funcionó perfectamente. Mire esta respuesta para la convención de nomenclatura correcta: stackoverflow.com/a/27473877/1568532
fellowworldcitizen

¿Hay alguna alternativa en lugar de usar LaunchScreen?
Vaibhav Jhaveri

Respuestas:


220

Puede agregar un archivo de pantalla de inicio que parece funcionar para varios tamaños de pantalla. Acabo de agregar MainStoryboard como un archivo de pantalla de inicio y eso detuvo la escala de la aplicación. Creo que necesitaré agregar una pantalla de inicio permanente más tarde, pero eso hizo que la resolución nativa funcionara rápidamente. En Xcode, vaya a su destino, general y agregue el archivo de pantalla de inicio allí.

Iniciar archivo de pantalla


2
Esta es probablemente la mejor solución si está utilizando un solo guión gráfico que maneja todos los dispositivos. Mi respuesta es apropiada si no está utilizando un solo guión gráfico o si necesita imágenes de lanzamiento explícitas por separado.
rmaddy

Necesito establecer imágenes de lanzamiento explícitas para iPhone 6 y 6 Plus, ¿existe una convención de nomenclatura si no quiero usar el catálogo de activos?
Radif Sharafullin

@Radif Sharafullin Aquí hay algunas instrucciones sobre cómo nombrar las imágenes de lanzamiento: developer.apple.com/library/prerelease/ios/documentation/iPhone/… . Desplácese hasta el final para iniciar el patrón de denominación de imágenes.
David L

66
Tenga en cuenta que una vez que migra a LaunchImage , iOS ya no extenderá su aplicación iPhone-5 a iPhone-6 (y 6+). Lo que puede romper la interfaz de usuario de su aplicación si está haciendo sus vistas con un tamaño absoluto como 320px de ancho y no está usando el tamaño relativo usando autolayouts.
atulkhatri

1
Diseño de @ bobo2000 con capacidad de respuesta.
mattsven

116

Si está utilizando catálogos de activos, vaya al catálogo de activos de LaunchImages y agregue las nuevas imágenes de inicio para los dos nuevos iPhones. Es posible que deba hacer clic con el botón derecho y elegir "Agregar nueva imagen de lanzamiento" para ver un lugar para agregar las nuevas imágenes.

El iPhone 6 (Retina HD 4.7) requiere una imagen de lanzamiento vertical de 750 x 1334.

El iPhone 6 Plus (Retina HD 5.5) requiere imágenes verticales y horizontales de 1242 x 2208 y 2208 x 1242 respectivamente.


2
Ojalá pudiera elegir dos respuestas correctas, ya que todo esto parece muy correcto. Todavía no he comenzado a usar catálogos de activos (bueno, solo intenté adoptar uno sin éxito, de alguna manera la aplicación no encontró las imágenes de lanzamiento allí), pero asignar el archivo de la pantalla de inicio fue una solución fácil aquí.
villapossu

Debería ser posible agregar las imágenes de inicio correctas sin usar catálogos de activos. Pero no sé de antemano cómo hacer referencia a ellos en la lista de información.
rmaddy

¿Necesito agregar realmente una imagen? Encendí estos y todavía está escalando.
Byte épico

Sí, en realidad debe agregar las imágenes (o usar el nuevo "Archivo de pantalla de inicio" (pero eso es solo para iOS 8).
rmaddy

1
@trumpetlicks El plus representa un objetivo más grande y luego reduce el renderizado al tamaño de pantalla real, la misma técnica que la retina MacBook Pro. Además, el Plus realmente puede lanzar aplicaciones en horizontal, ningún otro iPhone puede
hacerlo

104

He creado pantallas de inicio negras básicas que harán que la aplicación se ajuste correctamente en el iPhone 6 y iPhone 6+:

iPhone 6 vertical

iPhone 6 Plus Retrato

Si ya tiene una LaunchImage en su .xcassett, ábrala, cambie a la tercera pestaña en el menú derecho en Xcode y marque las imágenes del iPhone iOS 8.0 para agregarlas al conjunto existente. Luego arrastre las imágenes sobre:

ingrese la descripción de la imagen aquí


52

No quería presentar un catálogo de activos.

Según la respuesta de seahorseseaeo aquí , agregar lo siguiente a info.plist funcionó para mí. (Lo edité como un "código fuente"). Luego nombré las imágenes Default-667h@2x.png y Default-736h@3x.png

<key>UILaunchImages</key>
<array>
    <dict>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>8.0</string>
        <key>UILaunchImageName</key>
        <string>Default-667h</string>
        <key>UILaunchImageOrientation</key>
        <string>Portrait</string>
        <key>UILaunchImageSize</key>
        <string>{375, 667}</string>
    </dict>
    <dict>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>8.0</string>
        <key>UILaunchImageName</key>
        <string>Default-736h</string>
        <key>UILaunchImageOrientation</key>
        <string>Portrait</string>
        <key>UILaunchImageSize</key>
        <string>{414, 736}</string>
    </dict>
</array>

Esta respuesta es genial. Permite usar las imágenes fácilmente para pasar de la pantalla de bienvenida a la aplicación. Ninguna otra solución (catálogo de activos o guión gráfico) permite que esto se haga tan fácilmente.
jjxtra

77
Funcionó para mí (¡gracias!) Pero dejó de reconocer la imagen de inicio de 568h @ 2x, desactivando el soporte de tamaño de iPhone 5. Solo tuve que agregar otro elemento similar a los dos anteriores pero especificando 568h. (específica campos: Default-568h, {320, 568})
Steph Thirion

Lo mismo se aplica al iPhone 4S.
Josh Bernfeld

1
acabo de experimentar (en el simulador) que los archivos de imagen especificados ni siquiera necesitan existir.
glasz

Tengo un problema con esta técnica en el iPhone 6: muestra primero la pantalla de inicio Default-667h@2x.png y luego muestra brevemente Default-Portrait@2x~iphone.png. ¿Alguna idea?
Samuel

21

Tenga en cuenta que el iPhone 6 usará la resolución de 320pt (640px) si ha habilitado el 'Zoom de pantalla' en iPhone> Configuración> Pantalla y brillo> Ver.


¡Ojalá esto estuviera mejor documentado!
bobo2000

Acabas de salvarme el día. Intenté todas las otras soluciones, pero mi problema era solo que el dispositivo estaba en modo Zoom.
MessuKilkain

8

Haz lo siguiente (ver en la foto)

  1. Ir al catálogo de activos
  2. haga clic derecho y elija "Agregar nueva imagen de lanzamiento"

    • iPhone 6 -> 750 x 1334
    • iPhone 6 Plus -> 1242 x 2208 y 2208 x 1242

ingrese la descripción de la imagen aquí


3

Se encontró un error al ejecutar (Dominio = LaunchServicesError, Código = 0)

Por lo general, esto indica que installd devolvió un error durante el proceso de instalación (recursos defectuosos o similar).

Desafortunadamente, Xcode no muestra el error subyacente real (siéntase libre de presentar copias de este error conocido).

Debe marcar ~ / Library / Logs / CoreSimulator / CoreSimulator.log, que registrará el error subyacente por usted.


¡Gracias! No estaba al tanto de esta información adicional sobre la causa raíz del error. El registro detallado no me dice mucho, pero al menos tengo algo que adjuntar a mi archivo de radar.
villapossu

0

Si está utilizando el catálogo de activos y tiene múltiples objetivos, ambos utilizando el mismo archivo de catálogo de activos, asegúrese de que este archivo haya marcado ambos objetivos en el panel derecho en xcode.

Ese fue mi problema.

ingrese la descripción de la imagen aquí

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.