didDiscoverBeacons loop call


I use this piece of code in a new simple app for iOS8

beaconManager = [[ESTBeaconManager alloc] init];
beaconManager.delegate = self;
beaconManager.avoidUnknownStateBeacons = YES;
[beaconManager requestAlwaysAuthorization];

ESTBeaconRegion* region = [[ESTBeaconRegion alloc] initWithProximityUUID:ESTIMOTE_PROXIMITY_UUID major:44141 minor: 32755 identifier:@"EstimoteSampleRegion"];

[beaconManager startEstimoteBeaconsDiscoveryForRegion:region];

didDiscoverBeacons is properly called when entering the region but then, it keeps being called even when my beacon is far far far away and out of reach, and no, I don’t have any other beacon around me.

My need is to always monitor beacons around me to trigger an action, but I need it to be very quick, I can’t wait 30s before I notice that a beacon is out of reach.

Is there a way to define a delay/period/interval for startMonitoringForRegion because it’s working but with a delay of about 30s !

Thx :wink:

startEstimoteBeaconsDiscoveryForRegion is more like ranging, hence it keeps being called at all times with a list of beacons found nearby.

Enter and exit notifications are the domain of monitoring, but as you said, exit has a ~30 sec delay that’s built into the iOS’s iBeacon handling.

You can use ranging or startEstimoteBeaconsDiscoveryForRegion to “simulate” your own enter and exits, with your own delays. E.g. if a beacon disappeared from the list of ranged beacons, you can consider that as your own, custom exit event. Some delay is still probably in order, not to trigger false positives.

“Custom” enters and exits with configurable delays based on ranging is something that’s on our mind and we’ll likely be adding it to one of the upcoming versions of the SDK. Could still be a few weeks though.