Advertencias de Xcode 7 Beta: Orientaciones de interfaz y Lanzamiento de Storyboard

131

Abrí mi proyecto en Xcode 7 beta y recibo las siguientes advertencias que no recibo en Xcode 6:

 All interface orientations must be supported unless the app requires
 full screen.


 A launch storyboard or xib must be provided unless the app requires
 full screen.

La aplicación usa la orientación vertical solo para dispositivos, y la configuré de esa manera. También tengo guiones gráficos para las interfaces de iPhone y iPad. No puedo determinar por qué recibo estas advertencias. ¿Es este un error beta de Xcode 7?

bachma0507
fuente
Suena como un error. Consulte los foros de desarrollo de Apple. Alegrías de ser un beta tester: p
Sam B

Respuestas:

274

Esta advertencia es nueva para iOS 9 ya que admite aplicaciones redimensionables con soporte para múltiples ventanas. Anteriormente, las aplicaciones se escalaban automáticamente a nuevos dispositivos que tenían resoluciones de visualización de hardware diferentes a las de la imagen de lanzamiento (que es básicamente cómo iOS detecta las resoluciones de interfaz compatibles). Ahora, las aplicaciones que admiten ventanas múltiples deben definir las resoluciones que admiten al incluir una imagen de lanzamiento o un guión gráfico para todos los tipos de pantalla del dispositivo.

A menos que esté reescribiendo su aplicación para admitir ventanas múltiples, requerirá 'Pantalla completa'. Esta es una pista para iOS de que no es compatible con múltiples ventanas, y básicamente hace que iOS 9 funcione como las versiones anteriores a este respecto.

Entonces, si está enviando una actualización de la aplicación para iOS 9, y no admite ventanas múltiples, todo lo que tiene que hacer es ir a la configuración de Destino del proyecto, seleccionar General y, en 'Información de implementación', busque la casilla de verificación llamado 'Requiere pantalla completa'. Marque esto y las advertencias desaparecerán.

Ciertamente no es un error. Si esta advertencia está presente, entonces su aplicación puede tener problemas durante el envío. No estoy seguro de eso, porque todavía no he enviado una aplicación con iOS 9 GM Seed, pero ciertamente voy a marcar la casilla :-)

Simon Tillson
fuente
44
Esta respuesta es mucho mejor que la actual. Gracias por explicar el "por qué" de este cambio y el "qué" es realmente la configuración de pantalla completa. (Me imaginé que era la misma configuración que usaban los juegos para deshacerse de la barra de título, pero parece que este no es el caso)
Natevw
@natevw pero no tan conciso como el que te dice que "solo marques todas las malditas casillas". Esta respuesta me llevó a creer que necesitaba un montón de nuevas imágenes de la pantalla de inicio para eliminar la advertencia ...
dcow
1
@dcow - Bueno, entonces lo leíste mal. Dije claramente que solo necesita agregar imágenes de inicio O marque la casilla Requiere pantalla completa. Rara vez hay una respuesta simple a estas cosas ... Depende de lo que quieras lograr.
Simon Tillson
1
@SimonTillson leíste mal mi comentario y claramente no miraste la respuesta a continuación. No estoy hablando de la caja requiere pantalla completa . La solución real es apoyar todas las orientaciones. Esto no requiere agregar imágenes de inicio. Simplemente significa asegurarse de que todas las casillas estén marcadas bajo la orientación del dispositivo en la configuración general del proyecto. Tal vez estás insinuando que al sugerir que la solución es "que incluye una imagen de lanzamiento o un guión gráfico para todos los tipos de pantalla del dispositivo" , pero como dije, no es tan conciso como la respuesta que explícitamente te dice tanto.
dcow
@dcow El OP se trataba de resolver las advertencias solo, no preguntaba cómo admitir ventanas múltiples. Dado que las ventanas múltiples solo funcionan correctamente con resoluciones nativas, tiene razón en que las imágenes de lanzamiento deben cargarse para todos los tipos de pantalla del dispositivo y todas las orientaciones en uso deben estar marcadas. Sin embargo, todavía no entiendo cuál fue su problema original con mi respuesta, ya que la mayoría de los usuarios solo querían saber el significado de Requiere pantalla completa y / o cómo deshacerse de la advertencia.
Simon Tillson
62

Simplemente vaya a su objetivo, haga clic en la pestaña "General", busque la sección "Información de implementación", marque "Requiere pantalla completa". :)

Es tan fácil, ¿verdad?

Por cierto, esta no es la mejor solución. Habrá más y más mejores soluciones. Pero cuando respondo a esta pregunta, solo pensé en cómo matar las advertencias. No expliqué por qué hacer esto, sino cómo resolverlo. La versión beta de Xcode puede cambiar sus características, por lo que solo proporciono una "solución" en ese momento. Entonces, si cree que mi solución es una solución alternativa, vote por otras respuestas mejores. Pero esta no es la razón para rechazar. Gracias :)

YangXiaoyu
fuente
15
Esto definitivamente no es una solución, simplemente una solución a medio hacer. Respetuosamente, no estoy de acuerdo con tu respuesta.
kbpontius
Otra solución es verificar toda la "Orientación del dispositivo" en el mismo lugar y proporcionar un archivo xib o storyboard en lugar de un archivo de imagen. A veces debemos elegir: marque "Requiere pantalla completa" o todo en "Orientación del dispositivo". Porque Xcode nos pide que hagamos esto. :)
YangXiaoyu
66
@kpont ¿Qué esperas exactamente como solución? ¿Magia chasquido del dedo para eliminar la advertencia? Xcode 7 tiene metadatos adicionales que necesita y debe proporcionarlos. Si cree que esto es un error, ¿abrió un informe de error con Apple?
Leo Natan
66
La solución es válida en el contexto de "mi aplicación se compiló y funcionó bien ayer, pero hoy Xcode arroja una advertencia". Obviamente, a Apple le gustaría que cada desarrollador actualice cada aplicación para que se ejecute con todas las funciones habilitadas. Sin embargo, "aquí en el mundo real", a veces solo necesitamos impulsar una corrección de errores o la próxima compilación de algún tipo, y lidiar con el siempre cambiante paisaje de Apple en un momento posterior. La solución es válida. Del mismo modo, el concepto de agregar xibs / storyboards para admitir orientaciones es válido. ¡Hurra!
Olie
44
Una "solución a medias" para la cual Apple agregó una casilla de verificación en Configuración general ...
Rivera
11

Acabo de ver este error y después de leer los comentarios, seguramente quiero admitir el uso de iPad y múltiples ventanas. Esto es tan simple como verificar las opciones de Orientación del dispositivo "Paisaje a la izquierda" y "Paisaje a la derecha" y asegurarse de que mi interfaz de usuario sea compatible.

La mejor manera que encontré para probar una buena compatibilidad con múltiples ventanas es usar los simuladores redimensionables, o mejor, en mi opinión, usar el iPad Pro en XCode 7.1 y activar la función de múltiples ventanas arrastrando desde la derecha. Después de seguir estos pasos, mi aplicación admite estas funciones y puedo ver rápidamente lo que necesito actualizar u optimizar para admitirlas por completo.

d2burke
fuente
"La mejor manera de encontrar un buen soporte para múltiples ventanas es usar los simuladores redimensionables, o mejor IMO, usar el iPad Pro en XCode 7.1 y activar la función de múltiples ventanas arrastrando desde la derecha". Esto es literalmente una respuesta, en tono de conversación. Podría haber aclarado en su comentario antes de la votación negativa.
d2burke
Buen punto, extrañé el estilo de conversación. Pido disculpas. Pero es posible que desee volver a escribirlo: lo perdí la primera vez y soy hablante nativo.
Abizern
Entiendo :) Gracias por ser receptivo. Lo actualizaré ahora.
d2burke
2
Esta es la respuesta real a esta pregunta. ¡Gracias!
Aviel Gross el
al revés no estaba marcado para mí. habilitarlo elimina la advertencia. También creo que esta es la respuesta correcta
neelabh
8

De forma predeterminada, la Orientación del dispositivo solo habilita Vertical, Horizontal izquierda y Horizontal derecha. También debe habilitar el revés.

ingrese la descripción de la imagen aquí

CosmicMind
fuente
3

"Limpiar carpeta de compilación" y compilar de nuevo

Recibí el All interface orientations must be supported unless the app requires full screen.mensaje hoy en Xcode 7.3.1, aparentemente sin razón, sin ningún cambio relacionado que hice.

  • Me hacer unaLaunchScreen.storyboard
  • He no comprobado Requires full screen.

Intenté la maniobra habitual cuando Xcode me deja desconcertado sobre algún nuevo error por una razón no válida:

  1. Mantenga presionada la tecla Opción mientras hace clic en el Productmenú.
  2. Elige Clean Build Folder( no Clean ).
  3. Elige Product> Build.

No mas problema. Después de algunas sesiones de compilación y ejecución más, el mensaje de error aún no ha vuelto a aparecer.

Albahaca Bourque
fuente
0

¿Has proporcionado un "Lanzamiento de Storyboard" para tu aplicación? ¿O acaba de proporcionar imágenes estáticas para los distintos tamaños?

Consulta aquí: https://developer.apple.com/library/prerelease/ios/documentation/UserExperience/Conceptual/MobileHIG/LaunchImages.html

cbiggin
fuente
Yo uso una imagen de lanzamiento, no un guión gráfico de lanzamiento. Pensé que el guión gráfico de lanzamiento era opcional. Supongo que se recomienda usar un guión gráfico de lanzamiento en lugar de una imagen de lanzamiento en Xcode 7, ¿por eso la advertencia? La versión actual de la aplicación ya ha sido aprobada por Apple, supongo que incluiré un guión gráfico de lanzamiento en la próxima versión, momento en el que Xcode 7 ya se habrá lanzado al público. Gracias
bachma0507
Tengo el mismo problema, así que solo para confirmar @cbiggin: ¿necesita tener un guión gráfico de lanzamiento para deshacerse de este error?
amitsbajaj
No puedo confirmarlo, solo lo que teorizo ​​podría estar causando el problema. Intente agregar un Launch Storyboard y vea si desaparece. Si es así, entonces vota mi respuesta :)
cbiggin
1
tenga en cuenta que solo puede usar un guión gráfico de lanzamiento para ios> = 8
troppoli
0

Establezca UIRequiresFullScreen en YES en Info.plist. Y marque Requiere pantalla completa .ingrese la descripción de la imagen aquí

Prasad Patil
fuente