J'ai créé une application simple en utilisant Xcode 7 Beta 2. L'application contient simplement la classe MyAppDelegate
, MyViewController
, MyMain.storyBoard
et MyLaunchScreen.storyboard
. Après avoir recompilé l'application avec Xcode 7 Beta 4, l'erreur "Les écrans de lancement peuvent ne pas définir de noms de classe personnalisés" apparaît. Aucune suggestion?
Notez que l'écran de lancement n'est pas un contrôleur de vue entièrement personnalisable. Vous ne pouvez pas spécifier un nom de classe personnalisé dans le storyboard et vous attendre à ce que le système vous donne la possibilité d'exécuter du code à ce stade en appelant viewDidLoad. N'oubliez pas que l'application n'a pas encore été lancée.
Lancer les contraintes d'écran
Si vous déployez sur iOS 7, vous devrez toujours inclure les fichiers d'image de lancement statiques. Vous pouvez inclure à la fois un fichier d'écran de lancement et des images de lancement statiques. Les appareils tels que l'iPhone 6 exécutant iOS 8 utiliseront le fichier d'écran de lancement tandis que les appareils iOS 7 retourneront aux images de lancement.
Pour plus de détails, veuillez cliquer sur ici
C'est une réponse simple, mais quelque chose que j'ai fait et que je ne savais même pas. Je pense qu'avec iOS 7, il y a maintenant un main.storyboard et un launchscreen.storyboard. J'essayais involontairement de construire mon écran fonctionnel initial sur le screen.storyboard de lancement. C'est non non.
J'espère que cela aide et que le codage est heureux!
Parcourez vos contrôleurs de vue dans Main.storyboard et assurez-vous que vous n'en avez pas un qui est à la fois défini dans une classe personnalisée:
et a coché "Is Initial View Controller":
Vous ne pouvez faire que l'un ou l'autre. D'une manière ou d'une autre, "Is Initial View Controller" était toujours vérifié par erreur, et il m'a fallu un certain temps pour le traquer!
J'ai récemment créé une application à l'aide de la version bêta de Xcode 8, mais je n'ai pas pu la soumettre à l'App Store à l'aide du logiciel bêta. J'ai eu le même message d'erreur: "Les écrans de lancement peuvent ne pas définir de noms de classe personnalisés" et plusieurs autres.
Ma solution: Accédez à l'inspecteur de fichiers du storyboard principal et désélectionnez l'option Utiliser comme écran de lancement. C'est simple, non? J'espère que cela fonctionne aussi pour vous.