When I create a new “Tabbed Application” for a universal app, 5.0 and higher using Xcode Version 4.5.2 (4G2008a) it works fine on a 6.0 simulator but not on 5.1 or 5.0.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
UIViewController *viewController1;
UIViewController *viewController2;
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController_iPhone" bundle:nil];
viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController_iPhone" bundle:nil];
} else {
viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController_iPad" bundle:nil];
viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController_iPad" bundle:nil];
}
self.tabBarController = [[UITabBarController alloc] init];
**self.tabBarController.viewControllers = @[viewController1, viewController2];**
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];
return YES;
}
This is where the breakpoint is catching
self.tabBarController.viewControllers = @[viewController1, viewController2];
I have not changed anything on Apples setup. I have looked but perhaps I am googling the wrong thing.

Its because of the auto layout property in the xib files. Go to both of the xib files and in the right menu click the first tab at the top while the view is selected and un-tick the use auto layout text box.
Hope this Helps.
Sam