比较/区分两个相同的" CLBeacons

时间:2014-08-02 21:00:26

标签: core-location ibeacon

是否有可能区分“相同”的CLBeacons?意思是,CLBeacons具有相同的UUID,主要和次要,但来自不同的设备?

在CLBeacon类参考中,我可以读到,可以使用属性准确性。但是,让我们说,两个设备在同一个地方相互叠加(可能不是现实世界的情况),这仍然是一个可靠的论点吗?

2 个答案:

答案 0 :(得分:2)

CoreLocation API无法实现这一点。如果您有两个具有相同ProximityUUID /主要/次要组合的不同信标,则每个信标将在iOS范围内回调中独立显示,但您将拥有无法知道哪个是因为没有其他标识符可以区分它们。

虽然内部CoreLocation实现未发布,但我的测试表明CoreLocation键入了蓝牙Mac地址的唯一信标,使其能够意识到广播相同标识符的两个不同信标不仅仅是一个信标。不幸的是,CoreLocation不允许您阅读此Mac地址。

虽然您可以使用CoreBluetooth API读取Mac地址(或至少是它的推导),但您无法读取iBeacon标识符,因此无法将两者相关联。 (见:http://developer.radiusnetworks.com/2013/10/21/corebluetooth-doesnt-let-you-see-ibeacons.html

最重要的是,如果你想在iOS上区分两个iBeacons,你必须给出不同的标识符。

答案 1 :(得分:1)

您可以尝试通过核心蓝牙检查广告数据,但从位置的角度来看,如果它们具有相同的UUID,主要和次要,那么它们是相同的区域,尝试区分它们是没有意义的