为什么经典蓝牙和 LE 设备在 iOS 上的名称相同?

Why do Bluetooth classic and LE device get same name on iOS?

我有一个 iphone 和一个外围设备。我正在构建外围设备。外围设备具有蓝牙经典名称 "FOO"。在 LE 广告中,名称是 "LE FOO"。

iphone 上的 BLE Explorer 应用检测到名称为 "LE FOO" 的外围设备。通过应用程序打开 BLE 连接后,配对菜单也会显示设备。到目前为止一切顺利。

现在,一个条目突然从 "LE FOO" 变为 "FOO",我有两个同名的设备!为什么?

此外:我该如何防止这种情况发生?我知道这是可能的,因为我有一个第三方设备,它可以有两个不同的 LE 和 classic 名称。但是怎么办?

有什么想法吗?

谢谢。

Emil 的提示让我走上了正确的道路:

在 LE 广告中,名字是 "LE FOO"。因此,iPhone 首先显示了正确的名称。建立连接后,iOS自动在后台询问设备名称特征。此特征返回 "FOO" 而不是 "LE FOO"。

所以说我这边的一个错误。此特性的回调是使用错误常量手动实现的。