iBeacons:如何获得广播信标功率(txPower)

iBeacons似乎在计算beacon.accuracybeacon.proximity属性(在这里可以find关于iBeacon通告数据包的详细信息)中使用它们的txPower参数(报告1米距离的RSSI功率)。

但是, CLBeacon类似乎没有txPower的属性。 有没有一种方法可以使用Core Location框架获得txPower,还是需要我去核心蓝牙? 我需要这个的原因是,我想试验自定义信标准确度/接近度计算,以实现非常快的信标立即范围发现。 在这种情况下,从accuracy反向计算txPower不是帮手。

不幸的是,你不能用CoreLocationCoreBluetooth以编程方式获得这个值。 Apple使用CoreBluetooth阻止对所有iBeacon数据的CoreBluetooth (请参见此处的 CoreLocation )。与CoreLocation类似,它不会像CLBeacon类中那样暴露。

既然你说你不能做一个逆向计算,那么我唯一能想到的其他办法就是:

  1. 使用Android,OSX Mavericks或Linux设备,在阅读此字段时不提供此类限制。
  2. 在iOS应用程序中创build所有iBeacons的查找表(具有唯一的UUID /主要/次要值与其txPower值)

上面的选项2显然要求您为testing中的所有iBeacon指定唯一的标识符。