Search code examples
iosswiftlocationios15

iOS 15 does not awake app while entering BLE beacon region


My iOS app has BLE beacons detection in it. Which means If user has bluetooth and location on and if user enters the range of a beacon, system automatically awakes the app If it was not running (killed state).

This was working fine on iOS 14 and below. Yesterday I updated my device to iOS 15 and app no longer gets awoken while entering a ble beacon region even If I have enabled "Always" location permission in the settings.

Any thoughts ?


Solution

  • My tests show that iOS 15 successfully launching an app from a stopped state into the background on beacon region entry.

    Test steps:

    1. Install this app on my phone with iOS 14.8: https://github.com/davidgyoung/CoreLocationRegionLaunchDemo

    2. Run the app, grant notification and location always permissions.

    3. Go to settings and verify location permission is always

    4. Turn on a beacon, verify an entry notification arrives. Then turn off the beacon, verify the exit notification arrives.

    5. Reboot the phone. Wait 5 minutes. Turn on the beacon, then verify the entry notification arrives. Turn off the beacon and verify the exit notification arrives.

    6. Upgrade to iOS 15.

    7. Wait 5 mintues.

    8. Turn on a beacon. Verify an entry notification arrives.

    See screenshots -- sorry they are ugly, but I have to finish the giant download of XCode 13 before I can send screenshots directly to my computer.

    enter image description here

    enter image description here