Comment sans un contrôleur de vue initial factice
Assurez-vous que tous les contrôleurs de vue initiaux ont un ID de Storyboard.
Dans le storyboard, décochez l'attribut "Is initial View Controller" du premier contrôleur de vue.
Si vous exécutez votre application à ce stade, vous lirez :
Failed to instantiate the default view controller for UIMainStoryboardFile 'MainStoryboard' - perhaps the designated entry point is not set?
Et vous remarquerez que la propriété de votre fenêtre dans le délégué de l'application est maintenant nulle.
Dans le paramétrage de l'application, allez dans votre cible et dans la rubrique Info
onglet. Là, effacez la valeur de Main storyboard file base name
. Sur le General
effacez la valeur de l'onglet Main Interface
. Cela supprimera l'avertissement.
Créez la fenêtre et le contrôleur de vue initial souhaité dans le délégué de l'application. application:didFinishLaunchingWithOptions:
méthode :
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:UIScreen.mainScreen.bounds];
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController *viewController = // determine the initial view controller here and instantiate it with [storyboard instantiateViewControllerWithIdentifier:<storyboard id>];
self.window.rootViewController = viewController;
[self.window makeKeyAndVisible];
return YES;
}
1 votes
Vérifiez cette réponse sans prévenir, sans effacer le storyboard principal dans les paramètres.