you call it before the window is up and the navigationController is actually shown:
"Warning: Attempt to present on whose view is not in the window hierarchy!"
likely you do so in applicationDidFinishLaunching?
EITHER wait .. like do it when the view really appears
OR
one 'hack' would be to force the view and window up yourself:
[self.window addSubview:self.rootViewController.view];
[self.window makeKeyAndVisible];