Brief process of how AltBeacon works in the app:
- Detect iBeacon of specified ids (UUID, major/minor id)
- Run a thread when "didEnterRegion" called (and keep running until the beacon is out of range)
- When "didExitRegion" called, wait 30 seconds before stop the thread (this is to assure that the beacon is definitely out of the range)
- Continue to run the thread when "didEnterRegion" called again during the 30 seconds delay and stop the thread, otherwise.
And I found some reliability problems:
- "didExitRegion" is frequently called even when a iBeacon is right besides the app.
- Once "didExitRegion" is called, it takes several seconds, even more than a minute sometimes, to re-scan the iBeacon even with having a
very short scanning period setting.
My objective is to run a thread until a beacon is definitely out of a range -- in other words, I would like to secure the high reliability of the app with iBeacon integration.
Any suggestions? Am I missing something?
Any insight from you will be greatly appreciated!
Regards,