Background BLE beacon region monitoring not working in iOS 15 which was previously working on iOS 14

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 ?

Apple has just confirmed this to me that this is a known issue in iOS 15 and it should be fixed in iOS 15.1. We are experiencing the same issue, so fingers crossed.

Hey @Scott,

How did you get to know from Apple that this is an issue in iOS 15 ? Did you mean 15.1 or 15.0.1 which has just been released.

Hey @Scott--R,

Did you hear back from Apple on this issue? Have you found any solution ?

We are still seeing this issue on iOS 15.1 on the app that we work on as you say this had been working fine on iOS 14 and below. I reported this bug using the feedback assistant and I encourage you to do the same. Hopefully, this is sorted out soon.

We're same here. iOS 15.1 doesn't resolve the issue.

I have the same issue and it is not yet fixed in iOS 15.1.

Can anyone already say something about iOS 15.2 beta 2? Is it fixed or still unfixed?

Same issue here. Very inconsistent behaviour, which we also hear from our users.

Our app starts in the background when it enters our Bluetooth beacon region and starts scanning. When the iPhone is right next to the device, it still finds zero peripherals sometimes. Our users also give this feedback, where on iOS 14 versions it worked near-100% of the time, where now it is very inconsistent.

So concretely, it doesn't call didDiscover peripheral after using scanForPeripherals. We give the service identifier of the device to the init of the CBCentralManager via the CBCentralManagerOptionRestoreIdentifierKey and also use that identifier as a parameter withServices for the scanForPeripherals method.

I've reproduced this locally a couple of times on iOS 15.1, where the scanning doesn't return anything for more than 20 seconds. Then, a couple of seconds after that, we get a trigger again didEnterRegion and start scanning, which finds the same device within a couple of seconds.

I have the same issue with our app. I'm testing with iOS 15.2 beta right now and the problem still exists. Usually you can turn off location services and turn it back on and it works again for a few hours (which of course is not the solution). (I have the same problem with Location Events since iOS 15, I suspect this is related).

Still not fixed in iOS 15.2 beta 2.

And still not fixed in iOS 15.2 beta 3.

The issue is still not fixed in iOS 15.2 final. :(

In our extensive bug report about this issue (beacon monitoring specifically) the status has been updated to 'Potential fix identified - For a future OS update'.

Same problem here. Still persists in iOS 15.2.

It is now update ios 15.3 version. My app still has that problem. Any solution?

Background BLE beacon region monitoring not working in iOS 15 which was previously working on iOS 14
 
 
Q