title: Long term background task for critical communication
body: <p>Given this scenario: Your iOS 7+ app is sending and receiving communication data from an external device in real time via the accessory port (or maybe bluetooth or wifi or something else) when it's in the foreground. The user backgrounds the app and you register for a background time extension but don't know how long you have before getting suspended.</p>
  
  <ul>
  <li>What are your options for ensuring the app doesn't get suspended, assuming the architecture is completely unwritten and can be anything at this time (or do you even have any options)? </li>
  <li>Do you basically just have to send a local notification asking the user to bring the app back into the foreground if it's crucial that the app and external device maintain an open connection? </li>
  <li>On Android, you can create a standalone Service that just runs in the background separate from your main app so there is a guarantee of connection. What options do I have on iOS which would be equivalent?</li>
  </ul>