是否有可能区分“相同”的CLBeacons?意思是,CLBeacons具有相同的UUID,主要和次要,但来自不同的设备?
在CLBeacon类参考中,我可以读到,可以使用属性准确性。但是,让我们说,两个设备在同一个地方相互叠加(可能不是现实世界的情况),这仍然是一个可靠的论点吗?
答案 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,主要和次要,那么它们是相同的区域,尝试区分它们是没有意义的