Conditions Under Which Bluetooth State Restoration Will Relaunch An App
Q: What are the conditions that iOS 11 Bluetooth State Restoration will relaunch my app?
A: Bluetooth State Restoration will relaunch your app in the background for pending Core Bluetooth requests.
With iOS 11, Bluetooth State Restoration will relaunch your app under more circumstances than before. There are, though, certain conditions where the system will not relaunch your app regardless of pending requests.
Because of system state and user actions, it is possible that your app may not be restored in response to a Bluetooth event. Therefore it is important to educate your users so that they understand how their actions effect your app.
Well designed apps will be resilient under such conditions.
Will the app will be relaunched
iOS 10 behavior
App suspended in memory
App will be activated without needing a relaunch
App removed from memory
App Force Quit by the user
Bluetooth power toggled
Users may toggle Bluetooth power either through Settings, or via Airplane mode
Airplane Mode toggled
YES (only if Bluetooth power is not toggled with Airplane Mode)
Users may configure the Airplane Mode switch to not toggle Bluetooth power
YES (see notes)
If the device requires a passcode to unlock, apps will not be relaunched until the device is unlocked for the first time after a restart
Also, it is important to keep in mind that the app will be relaunched and restored if and only if it is pending on a specific Bluetooth event or action (like scanning, connecting, or a subscribed notification characteristic), and this event has occurred.
For more information on Bluetooth State Preservation and Restoration refer to State Preservation and Restoration in Core Bluetooth Programming Guide
Document Revision History
New document that lists the conditions under which Bluetooth State Restoration will relaunch your app