Il n'y a aucun problème principal avec l'exécution enchaîne dans le viewDidLoad (après l'appel à super bien sûr).
Le problème consiste à effectuer enchaîne avant que la fenêtre de l'application est rendue visible.
Le UIViewController vous souhaitez afficher est partie du storyboard afin qu'il soit chargé en mémoire avant que l'application commence l'exécution de son code dans l'application délégué. Dans votre cas, le viewDidLoad est appelé par iOS avant de votre fenêtre d'application reçu de message: MakeKeyAndVisible.
L'important, c'est la visibilité.
L'exécution d'une séquence sur une vue de la hiérarchie dans laquelle la fenêtre n'est pas visible ne fait rien!
Vous pouvez essayer de faire quelque chose comme ceci:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// The window initialized with hidden = YES, so in order to perform the segue we need to set this value to NO.
// After this action, the OS will add the window.rootViewController's view as a subview of the window.
self.window.hidden = NO;
[self.window.rootViewController performSegueWithIdentifier:_IDENTIFIER_ sender:self.window.rootViewController];
// Now that the window is not hidden, we must make it key.
[self.window makeKeyWindow];
return YES;
}