I wrote an app that ranging the beacons. I use six real beacons with advertising interval 310ms.
I have seen that the event OnBeaconsDiscovered is performed once to the second.
Can you explain me as it works?
onBeaconsDiscovered is called once a second by default. Advertising Interval, on the other hand, is the value that descirbes interval between consecutive Beacon's signals.
This is implementation details of Apple's CLLocationManager that we relay on.
During each second probably Bluetooth signal noise is reduced and distance is being calculated.
How does setForegroundScanPeriod relate to onBeaconsDiscovered? I would think that onBeaconsDiscovered would be called every scanTime + waitTime from setForegroundScanPeriod. But if I'm reading correctly, you are saying this is not the case (and my testing indicates it doesn't).
Is there a way to change how often onBeaconsDiscovered is called?
Actually, what you described is exactly how this is supposed to work, i.e. onBeaconsDiscovered should be called roughly every
scanTime + waitTime seconds.
What does your testing show?
I apologize. On re-testing I am now seeing the expected behavior. Sorry for the confusion.
No worries, just glad to hear it's all okay! (: