3

在我的 iOS 应用程序中,我定义了一些兴趣点。其中一些具有 Kontakt.io 信标的名称,该信标绑定到特定的 PoI(我的意思是通常放在信标贴纸上的名称)。现在我想发现附近的信标,然后过滤掉那些超过 5 米的信标,首先从过滤后的列表中获取,然后使用获取的信标名称找到一个 PoI。

我能够在 Android 版本的应用程序上完成此任务(IBeaconDeviceKontakt.io 使用的界面内部同时包含距离和名称),但是我无法在 iOS 上执行此操作。我看到,CLBeacon使用的类KTKBeaconManager有一个与信标有距离的字段,KTKNearbyDevice使用的KTKDevicesManager有名称的字段,但我不知道如何将它们相互链接或如何使用信标的名称将我的信标与我的 PoI 链接。一般情况下是否有可能,或者我应该切换以通过Minor参数识别特定的信标?

4

1 回答 1

0

不幸的是,iOS 不允许您将蓝牙设备的广告名称与其 iBeacon 标识符相关联,因为底层 CoreBluetooth API(用于获取名称)和 CoreLocation API(用于获取信标 UUID,主要次要)没有共享标识符。这是 Apple 在 iOS 中设计的,它限制 Kontakt.io SDK 做你想做的事,因为它依赖于 CoreLocation 和 CoreBluetooth。

您唯一的选择是使用 CoreLocation 中的信标标识符(uuid、major、minor)来选择信标。

于 2019-01-11T13:41:09.877 回答