title: On a Storyboard application, how to present a view controller from the AppDelegate during the application:didFinishLaunchingWithOptions:?
body: <p>I have a Storyboard application that the root view controller is a <code>UITableViewController</code>.</p>
  
  <p>Sometimes when I launch the application I need to present a view controller (that doesn't need a nib or anything). This is how I'm trying to do that:</p>
  
  <p>In my <code>UIApplicationDelegate</code> <code>application:application didFinishLaunchingWithOptions:</code>: </p>
  
  <pre><code>SplashViewController * splashViewController = [[SplashViewController alloc] init];
  splashViewController.semaphore = semaphore;
  [self.window.rootViewController presentViewController:splashViewController animated:NO completion:nil];
  </code></pre>
  
  <p>The problem is, in this moment the <code>UITabBarController</code> is not yet in the view hierarchy, so I get this warning:</p>
  
  <pre><code>Warning: Attempt to present &lt;SplashViewController: 0xa786a10&gt; on &lt;UITabBarController: 0xb35d830&gt; whose view is not in the window hierarchy!
  </code></pre>
  
  <p>Moving this code from the AppDelegate to the <code>viewDidLoad</code> of the first view controller of the <code>UITableViewController</code> doesn't seen to be right, as I would need to create some properties in my AppDelegate just to make my first view controller build that view. This logic doesn't fit there.</p>
  
  <p>What would be the proper way to present this view controller?</p>