I have a very simple barebones iOS app monitoring a single Estimote beacon. I add a CLBeaconRegion
and run startMonitoringForRegion
and startRangingBeaconsInRegion
.
Inside - (void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region
, I get the beacon information, roughly every second. But for some reason, every 15-45 calls, there's no beacons
.
Anyone encounter this issue? While running it, I'm not moving anything, and the nothing's changing in the surrounding environment. Is this common for iOS to drop random detections?
This is not unusual, and is common at low advertising rates. Beacons may typically be configured to transmit between 1 to 10 Hz (different models have different ranges). If a beacon's advertisement is never seen by the Bluetooth chip in a one second cycle, you will not get that beacon included in the callback. Missing an advertisement can often be caused by radio noise or by a collision with a transmission from another bluetooth device. At 1 Hz transmission rates, this will be common. At 10 Hz, it should be exceedingly rare.