title: Detect if application: didReceiveRemoteNotification: fetchCompletionHandler: was called by tapping on a notification in Notification Center
body: <pre><code>application: didReceiveRemoteNotification: fetchCompletionHandler:
  </code></pre>
  
  <p>is different from</p>
  
  <pre><code>application: didReceiveRemoteNotification:
  </code></pre>
  
  <p>How? from the docs:</p>
  
  <blockquote>
    <p>Unlike the application:didReceiveRemoteNotification: method, which is
    called only when your app is running, the system calls this method
    regardless of the state of your app. If your app is suspended or not
    running, the system wakes up or launches your app and puts it into the
    background running state before calling the method. <strong>If the user opens
    your app from the system-displayed alert, the system calls this method
    again so that you know which notification the user selected.</strong></p>
  </blockquote>
  
  <p>My struggle is: I want to know if the method was called by the user tapping an a system-displayed alert from the Notification Center or from a silent push notification that wakes up the device. Currently, as far as I can see, there is no obvious way to differentiate.</p>
  
  <pre><code>- (BOOL)application: didFinishLaunchingWithOptions:
  </code></pre>
  
  <p>Tracking the <em>launchOptions</em> in the above method is not a solution because it's only called if the app is suspended/not running in background. If it's running in the background it doesn't get called.</p>