Kontakt.io iOS - 按名称识别信标
Kontakt.io iOS - Identify beacon by name
在我的 iOS 应用程序中,我定义了一些兴趣点。其中一些有一个 Kontakt.io 信标的名称,它绑定到一个特定的 PoI(我的意思是通常贴在信标标签上的名称)。现在我想在附近发现信标,然后过滤掉那些超过 5 米的信标,首先从过滤列表中获取并使用获取的信标名称找到一个 PoI。
我能够在 Android 版本的应用程序上完成此任务(Kontakt.io 使用的 IBeaconDevice
界面内部有距离和名称),但是我无法在iOS。我看到,KTKBeaconManager
使用的 CLBeacon
class 有一个与信标距离的字段,KTKDevicesManager
使用的 KTKNearbyDevice
有名称字段,但我不知道如何 link 他们彼此或如何 link 我的信标与我的 PoI 使用信标的名称。通常是否有可能,或者我应该切换为通过 Minor
参数识别特定信标?
不幸的是,iOS 不允许您将蓝牙设备的广告名称与其 iBeacon 标识符相关联,因为底层的 CoreBluetooth API(用于获取名称)和 CoreLocation API(用于获取信标 UUID,主要次要)没有共享标识符。这是 Apple 在 iOS 中设计的,并且限制 Kontakt.io SDK 执行您想要的操作,因为它依赖于 CoreLocation 和 CoreBluetooth。
您唯一的选择是使用从 CoreLocation(uuid、主要、次要)到 select 信标的信标标识符。
在我的 iOS 应用程序中,我定义了一些兴趣点。其中一些有一个 Kontakt.io 信标的名称,它绑定到一个特定的 PoI(我的意思是通常贴在信标标签上的名称)。现在我想在附近发现信标,然后过滤掉那些超过 5 米的信标,首先从过滤列表中获取并使用获取的信标名称找到一个 PoI。
我能够在 Android 版本的应用程序上完成此任务(Kontakt.io 使用的 IBeaconDevice
界面内部有距离和名称),但是我无法在iOS。我看到,KTKBeaconManager
使用的 CLBeacon
class 有一个与信标距离的字段,KTKDevicesManager
使用的 KTKNearbyDevice
有名称字段,但我不知道如何 link 他们彼此或如何 link 我的信标与我的 PoI 使用信标的名称。通常是否有可能,或者我应该切换为通过 Minor
参数识别特定信标?
不幸的是,iOS 不允许您将蓝牙设备的广告名称与其 iBeacon 标识符相关联,因为底层的 CoreBluetooth API(用于获取名称)和 CoreLocation API(用于获取信标 UUID,主要次要)没有共享标识符。这是 Apple 在 iOS 中设计的,并且限制 Kontakt.io SDK 执行您想要的操作,因为它依赖于 CoreLocation 和 CoreBluetooth。
您唯一的选择是使用从 CoreLocation(uuid、主要、次要)到 select 信标的信标标识符。