I have many iBeacon advertiser devices deployed at different locations, with different value of "Calibrated Tx Power" for each device. Now I need to estimate the distance between my iOS app and a detected iBeacon device. I am trying to use RSSI
and txCalibratedPower
method(Understanding ibeacon distancing). My question is, I find no means to get the txCalibratedPower
in iOS app. Is there any advice? Thanks in advance.
Asked
Active
Viewed 675 times
1
1 Answers
1
Unfortunately, there is no way to read that value on iOS. Even though it is transmitted in the iBeacon packet, CoreLocation does not expose it in the CLBeacon object, and CoreBluetooth blocks reading the advertisement bytes on iOS.
This is frustrating for your use case. As an alternative, if your beacons all have unique identifiers, you could make a lookup table with this information. You could embed the lookup table in your app, or build a web service to return the calibration value for a particular beacon so you can change it without an app update.
With this workaround you must remember to update the lookup table whenever you change the calibration value of your beacons.

davidgyoung
- 63,876
- 14
- 121
- 204
-
This is exactly the same idea I could make out. Thank you David. – kuang Dec 21 '15 at 22:00