Instanciation d'un contrôleur de vue par programmation avec Storyboard depuis AppDelegate

Je suis en train de construire une application qui, une fois lancé, pour la première fois, il demande à l'utilisateur de faire deux choses:

  1. Sélectionnez un Pays
  2. Accepter de T&Cs

À partir de là, il va à la maison-vue-contrôleur.

Le problème, je suis actuellement confronté est de pousser le premier-vue-contrôleur sur l'écran de mon délégué d'application. J'utilise les storyboards /Xcode 5/iOS7

Voici le code, je suis venu avec:

UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle: nil];
BBCounterySettingsViewController *controller = (BBCounterySettingsViewController*)[mainStoryboard instantiateViewControllerWithIdentifier: @"CountrySettings"];
[navigationController pushViewController:controller animated:NO];

Le problème est l'application se bloque lorsqu'il atteint la dernière ligne de code avec l'erreur suivante:

* Résiliation d'application en raison de uncaught exception 'NSInvalidArgumentException', la raison: '-[UIViewController
pushViewController:animation:]: unrecognized sélecteur envoyé à l'instance
0x8e9a400'

N'importe qui ont des idées de ce que je fais de mal?

source d'informationauteur Tander