Same here. Testing iOS 15.2 beta 3 and still the same issue. Given that this problem has apparently existed for 5 months it is quite troubling. So far what we have found is that if our app has been launched into the foreground recently (like in the last 24 hours or so), everything works as expected with region monitoring. However, if the user has not interacted with our app within the last day or so, all region events cease to function.
On iOS 13 and 14 the exact same version of our app performed as expected. We could not launch the app for a month and region events would still function.
Post
Replies
Boosts
Views
Activity
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.
Just curious if you got this working reliably? We have an app that needs to wake up when our iBeacons come into range and we’ve been noticing lately that while most users experience no issues, some users experience frequent failures where our app simply does not wake up even when the iBeacons repeatedly get brought into / out of range.
it’s like iOS on their phone has decided our app is no longer going to be woken up until they bring the app into the foreground. Then everything works fine again for a few days - until it stops again.
we just cannot figure out why most users have no issues while some have frequent issues. Why would iOS not launch our app in the background when a monitored beacon comes into range? When they get in this state we can bring the beacon in / out of range 10 times and nothing happens. But for days prior, even with the app killed by the user, it works fine.
We had a similar issue with iBeacons and it only started happening since iOS 13. Apple changed something in their scanning algorithms, most likely to further optimize battery consumption. We found that it was much more sensitive to the consistency of the advertising interval. So while you may be advertising at 100mS, you need to clock that 100mS and make sure it is really tightly controlled or the phone is going to miss it and do strange things.
We also resorted to using requestStateForRegion whenever possible. I know this doesn't help when you're trying to use the DidEnter / Exit as a trigger to wake up your app, but thought I would mention it.
I also know that most iBeacons will transmit as "connectable" for the first XX seconds, and then switch to "not connectable", which is what Apple recommends. One software developer I spoke with mentioned that if the iPhone is nearby when the iBeacon turns on and transmits as "connectable" and then changes to "not connectable" it can confuse the phone - making behaviour again unpredictable.
To this day it still happens to us on very rare occasions - DidExitRegion just flat out gets missed. We have even installed the bluetooth and location profiles on phones in an attempt to catch the behaviour and send the logs to Apple for analysis but we could never catch it because it happens so rarely to us.
If you find a solid root cause please post. Would be curious to hear what you discovered.
We see the same behaviour! We have to tell our users to delete our app and download it again. Then everything starts working properly - until it happens again. Sometimes a phone restart fixes it as well.Incredibly annoying. I find it interesting that Android never seems to have any issue detecting iBeacons, but iPhones do (in the background and kill states). With Android we can even reduce the advertising rate of the iBeacon and it still works fine. With iPhones we set them to 100mS and still have significant problems.