I get the following error in my console:
Applications are expected to have a root view controller at the end of application launch
I also had this error but unlike any of the answers previously listed mine was because i had uncommented the method 'loadView' in my newly generated controller (xcode 4.2, ios5).
//Implement loadView to create a view hierarchy programmatically, without using a nib.
- (void)loadView
{
}
It even told me that the method was for creating the view programmatically but i missed it because it looked so similar to other methods like viewDidLoad that i normally use i didn't catch it.
To solve simply remove that method if you are not programmatically creating the view hierarchy aka using nib or storyboard.