Technical Q&A QA1962

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.

Table 1  Conditions for Bluetooth State Restoration to relaunch your app

App/Device state

Will the app will be relaunched

Notes

iOS 10 behavior

App suspended in memory

N/A

App will be activated without needing a relaunch

Same

App removed from memory

YES

YES

App crashed

YES

YES

App Force Quit by the user

NO

NO

Bluetooth power toggled

NO

Users may toggle Bluetooth power either through Settings, or via Airplane mode

NO

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

NO

Device restarted

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

NO

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


DateNotes
2017-09-08

New document that lists the conditions under which Bluetooth State Restoration will relaunch your app