title: Does main queue get dispatched when app re-launches into background?
body: <p>My app makes use of <a href="https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW22" rel="noreferrer">UIBackgroundMode</a>, i.e. it gets relaunched by iOS when Bluetooth events occur even while the app is not active. Therefore Bluetooth events are dispatched by iOS onto a background queue (queue is specified by me).</p>
  
  <p>Can I however dispatch code back to the main queue, i.e.</p>
  
  <p><code>DispatchQueue.main.async { }</code> (Swift)</p>
  
  <p><code>dispatch_async(dispatch_get_main_queue(), ^{ })</code> (Objective-C)</p>
  
  <p>and assume that its run loop is running, that is my blocks get dispatched? Or is the main queue suspended in background mode and thus I should avoid adding dispatching blocks to it?</p>