Sadly, that’s a known problem with iOS:
Hi!
I’ve been working on a iOS app (quite simple) that monitors and range beacons. Ranging seems to be working ok, but I’m having some issues with the background beacon monitoring:
My app currently is monitoring one specific beacon (Strong broadcasting power (4 dBm) & 1300ms interval). It simply sends a notification when didEnterRegion is fired, and another notification when didExitRegion is fired.
The problem is that I’ve been having unreliable results with the background monitoring, where I…
There’s a possible workaround by @chaychoong here:
Those using the Estimote Default packet type rather than iBeacon for the Proximity Beacons would have noticed that beacon monitoring is rather unreliable, often generating false positives.
If you are facing the problem of didExitRegion and didEnterRegion triggering simultaneously every few minutes, you can use NSOperationQueue as a workaround.
Ninja edit: code
var operationQueue = NSOperationQueue()
let beaconManager = ESTBeaconManager()
func beaconManager(manager: AnyObject, didEnterRegion …
What this code does is, it delays the exit event by 3 seconds—if the exit was a “false” one, and is followed by an enter within these 3 seconds, it will discard the exit. You may want to play with the 3-second value.
1 Like