在我的iOS应用中,我定义了一些兴趣点。其中一些具有Kontakt.io信标的名称,该名称绑定到特定的PoI(我的意思是通常在信标上的标签上贴上的名称)。现在,我想在附近发现信标,然后过滤掉那些距离超过5米的信标,首先从过滤后的列表中选取一个,然后使用获取的信标名称找到一个PoI。
我能够在Android版本的应用程序上完成此任务(Kontakt.io使用的IBeaconDevice
接口内部具有距离和名称),但是我无法在iOS上执行此任务。我看到CLBeacon
使用的KTKBeaconManager
类具有与信标距离的字段,而KTKNearbyDevice
使用的KTKDevicesManager
具有名称字段,但是我不知道如何将它们彼此链接或如何使用以下方法将我的信标与我的PoI链接信标的名称。通常有可能还是我应该通过Minor
参数切换以标识特定的信标?
最佳答案
不幸的是,iOS不允许您将蓝牙设备的宣传名称与其iBeacon标识符相关联,因为底层的CoreBluetooth API(用于获取名称)和CoreLocation API(用于获取信标UUID,主要是次要的)没有共享标识符。这是Apple在iOS中设计的,它限制了Kontakt.io SDK的工作,因为它依赖于CoreLocation和CoreBluetooth。
唯一的选择是您使用CoreLocation中的信标标识符(uuid,major,minor)来选择信标。
关于ios - Kontakt.io iOS-通过名称识别信标,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54146072/