android ios任何BLE的任何唯一密钥(我们正在使用所有BLE-无制造商依赖性)来识别它



我正在努力为如何在iOS中获得BLE mac找到一种方法???

这将适用于所有BLE,不会有制造商依赖性。我们正在寻找扫描时间的解决方案。我可以在扫描时间中区分BLE吗?

如果无法获取MAC。那么有没有什么共同的东西可以用来识别BLE跨平台,即android ios和web。

提前谢谢。

我尝试在iOS中使用UUID,对于相同的BLE,不同的设备总是不同的。安卓系统提供的MAC是唯一的,但iOS系统不足以获得MAC。

我发现所有BLE的共同点是所有BLE拥有的唯一和共同的东西,主要是灯塔。

所有蓝牙LE广告都包含一个6字节的MAC地址,该地址通常用于唯一识别始发硬件设备。正如您所看到的,iOS CoreBluetooth阻止读取MAC的能力而代之以16字节的UUID作为标识符。但是,该标识符会周期性地旋转,因此不能用于唯一标识设备。随着时间的推移,两个不同的标识符可能会从同一设备中变锥。

这是iOS上的隐私限制,没有公共的API可以绕过它。两个不完美的替代方案:

  • 对于iBeacon设备,使用ProximityUUID/major/minor的组合。(甚至是完整的制造商广告。)在某些情况下,这可能仍然不是唯一的,因为多个信标可以广告相同的标识符
  • 对于您控制的其他GATT设备,使它们暴露一个返回实际MAC值的特性

但这些解决方案都不适用于所有情况下的所有BLE设备。

相关内容

最新更新