Instantiating a View Controller programmatically with Storyboard from AppDelegate

Viewed 42219

I'm busy building an app - that when launched for the first time it asks the user to do two things:

  1. Select a Country
  2. Accept T&Cs

From there it goes to the home view controller.

The problem I am currently facing is pushing the first view controller onto the screen from my app delegate. I'm using storyboards / Xcode 5/ iOS7

Here is the code I came up with:

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];

The problem is the app crashes when it hits the last line of code with the following error:

* Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIViewController pushViewController:animated:]: unrecognized selector sent to instance 0x8e9a400'

Anyone have any ideas what I am doing wrong?

4 Answers
Related