interface-builder ios9 xcode7-beta4

interface builder - XCode 7: las pantallas de inicio no pueden establecer nombres de clase personalizados



interface-builder ios9 (4)

Dirígete a View Controllers en Main.storyboard y asegúrate de que no tienes ninguno configurado en una clase personalizada:

y tiene marcado "Is Initial View Controller":

Solo puedes hacer una o la otra. De alguna manera, aún tenía el mensaje "Is Initial View Controller" controlado por error, ¡y me costó un tiempo encontrarlo!

MyAppDelegate una aplicación simple usando Xcode 7 Beta 2. La aplicación simplemente contiene la clase MyAppDelegate , MyViewController , MyMain.storyBoard y MyLaunchScreen.storyboard . Después de volver a compilar la aplicación con Xcode 7 Beta 4, aparece el error "Las pantallas de inicio pueden no establecer nombres de clase personalizados". ¿Alguna sugerencia?


Esta es una respuesta simple, pero algo que hice y ni siquiera lo sabía. Creo que con iOS 7, ahora hay una principal.storyboard y una launchscreen.storyboard. Inconscientemente intenté construir mi pantalla funcional inicial en la pantalla de inicio. Eso es un no, no.

Espero que esto ayude y una codificación feliz!


Recientemente, creé una aplicación que utilizaba la versión beta de Xcode 8 pero no pude enviarla a la tienda de aplicaciones con el software beta. Tuve el mismo mensaje de error: "Las pantallas de inicio no pueden establecer nombres de clase personalizados" y varios otros.

Mi solución: vaya al Inspector de archivos del Guión gráfico principal y anule la selección de la opción Usar como pantalla de inicio. Simple, ¿verdad? Espero que esto funcione para ti también.

Aquí hay una imagen de lo que debe buscar


Tenga en cuenta que la pantalla de inicio no es un controlador de vista completamente personalizable. No puede especificar un nombre de clase personalizado en el guión gráfico y espera que el sistema le brinde la opción de ejecutar código en esta etapa llamando a viewDidLoad. Recuerde, la aplicación aún no se ha lanzado.

Launch Screen Restraints

  • El sistema carga el archivo de la pantalla de inicio antes de iniciar la aplicación, lo que crea algunas limitaciones sobre lo que puede contener (algunas de las cuales pueden obligarlo a volver a archivos de imágenes estáticas):
  • La aplicación aún no se ha cargado, por lo que la jerarquía de vistas no existe y el sistema no puede llamar a ningún código de configuración de controlador de vista personalizado que pueda tener en la aplicación (por ejemplo, viewDidLoad)
  • Solo puede usar clases UIKit estándar para que pueda usar UIView o UIViewController pero no una subclase personalizada. Si intentas configurar una clase personalizada, obtendrás un error de configuración ilegal en Xcode.
  • El archivo de pantalla de inicio solo puede usar vistas básicas de UIKit como UIImageView y UILabel. No puedes usar un UIWebView.
  • Si está utilizando un guión gráfico, puede especificar varios controladores de vista, pero nuevamente hay algunas limitaciones. Por ejemplo, puede incrustar controles de vista en un controlador de navegación o barra de pestañas, pero las clases de contenedores más complejos, como UISplitViewController, no funcionan (al menos, aún no).
  • Localizar el archivo de pantalla de inicio actualmente no parece tener ningún efecto. La localización base siempre se usa, por lo que probablemente desee evitar el texto en la pantalla de inicio.
  • No puede especificar diferentes archivos de pantalla de inicio para iPad y iPhone. Esto puede ser un problema si tiene interfaces significativamente diferentes para esos dispositivos, ya que solo hay mucho que puede hacer con el diseño automático y las clases de tamaño.

Si se está implementando en iOS 7, deberá incluir los archivos de imagen de inicio estáticos. Puede incluir tanto un archivo de pantalla de inicio como imágenes de inicio estáticas. Dispositivos como el iPhone 6 con iOS 8 usarán el archivo de pantalla de inicio, mientras que los dispositivos con iOS 7 volverán a las imágenes de lanzamiento.

Para más detalles, haga clic here