I am playing with iBeacon and I find it frustrating that whenever we are inside a beacon region and then we go outside it can take up to 15 minutes until the phone detects the "Exit event".
In order to overcome this I am considering stopping the beacon monitoring as soon as we enter (by calling stopMonitoringForRegion on CLLocationManager).
However I tried and it does not seem to work.
This is what I think iOS does:
iOS region table:
App1: UUIDx1
App1: UUIDx2
..
App1: UUIDx20 (Maximum)
App2: UUIDy1
App3: UUIDz1
App3: UUIDz2
When we stop monitoring a region I except iOS to remove the corresponding UUID from the internal scan table. However this does not seem to stop iOS waiting (up to 15 minutes) before realising that it did exit the region.
Has anyone dealt with this before?
How can we program iOS and the app to create subsequent didEnterRegion events (even within 15 minutes)?