title: How to determine if application is launched to do Background Fetch
body: <p>When OS launch the application for background fetch the sequence I observed is this</p>
  
  <pre><code>- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
  </code></pre>
  
  <p>and then</p>
  
  <pre><code>-(void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
  </code></pre>
  
  <p>In <code>didFinishLaunching</code> I am trying to determine if app is launched to do Background Fetch because I need to disable some features to speedup the app loading. <code>UIApplication</code> doesn't expose any property to determine this. </p>
  
  <p>I've noticed <code>UIApplication</code> has <code>_applicationFlags</code> which has <code>isHandlingBackgroundContentFetch</code> boolean which is set to true for Background Fetch but its inside @package and can't be accessed. </p>