iBeacons 似乎广播其 txPower 参数(报告 1 米距离处的 RSSI 功率),该参数用于计算beacon.accuracy
and beacon.proximity
属性(有关 iBeacon 广告包的详细信息,请参见here https://stackoverflow.com/questions/18906988/what-is-the-ibeacon-bluetooth-profile).
然而,CLBeacon
类似乎没有 txPower 的属性。有没有办法可以使用 Core Location 框架获取 txPower,或者需要我转到 Core Bluetooth?我需要这个的原因是我想尝试自定义信标精度/接近度计算,以实现非常快速的信标即时范围发现。在这种情况下,反向计算 txPoweraccuracy
没有帮手。
不幸的是,您无法通过以下任一方式以编程方式获取该值CoreLocation
or CoreBluetooth
。 Apple 阻止对所有 iBeacon 数据的访问CoreBluetooth
(请参阅我对此的细分here http://developer.radiusnetworks.com/2013/10/21/corebluetooth-doesnt-let-you-see-ibeacons.html.) 类似地CoreLocation
它根本就没有暴露在CLBeacon
正如你所看到的那样。
既然你说你不能进行反向计算,那么我能想到的唯一其他方法是:
- 使用 Android、OSX Mavericks 或 Linux 设备,这些设备对读取此字段没有此类限制。
- 在您的 iOS 应用程序中为所有 iBeacons 创建一个查找表(具有唯一的 UUID/主要/次要值及其 txPower 值)
上面的选项 2 显然要求您为所有被测试的 iBeacons 分配唯一的标识符。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)