Ios 如何在不指定UUID的情况下扫描iBeacon信号?

Ios 如何在不指定UUID的情况下扫描iBeacon信号?,ios,ibeacon,Ios,Ibeacon,由于iBeacon信号只是一个具有预定义的BLE配置文件的BLE广播,我想我可以编写一个iOS应用程序来扫描BLE广播信号,并分析是否有找到的信号是iBeacon。但如何做到这一点呢 如何扫描周围所有的BLE广播信号 如何区分一个BLE广播信号是否为iBeacon 不幸的是,在iOS上,您必须提供ProximityUID才能查看iBeacons。在Android上,无论UUID如何,都可以看到所有iBeacon。此外,在iOS上,您不能使用CoreBluetooth API来确定哪些广告是iBe

由于iBeacon信号只是一个具有预定义的BLE配置文件的BLE广播,我想我可以编写一个iOS应用程序来扫描BLE广播信号,并分析是否有找到的信号是iBeacon。但如何做到这一点呢

  • 如何扫描周围所有的BLE广播信号
  • 如何区分一个BLE广播信号是否为iBeacon

  • 不幸的是,在iOS上,您必须提供ProximityUID才能查看iBeacons。在Android上,无论UUID如何,都可以看到所有iBeacon。此外,在iOS上,您不能使用CoreBluetooth API来确定哪些广告是iBeacons


    有关详细信息,请参阅。

    大卫杨的答案并不完全正确。在iOS上,您可以订阅进入/离开统治,但您必须事先知道UUID


    但是,您可以使用常规蓝牙设备扫描来检测所有蓝牙设备。然后,您可以查看广告数据,查看它是否实际使用了iBeacon标识符,并列出其iBeacon UUID。

    根据我的说法,您无法找到所有广播广告数据的信标,无论它们是否接近UUID

    这只能在Mac应用程序中完成,而不能在iOS中完成

    这将帮助您更好地理解


    这是mac上处于工作状态的开源信标扫描应用程序的链接:

    你错了,iOS不会公开广告数据,除非通过UUID iBeacon调用。其他平台没有这个限制。@ChrisStratton我认为你错了。使用
    centralManager:didDiscoveryPeripheral:advertisementData:RSSI:
    提供广告数据。UUID的20个字节,主要和次要都在那里。我也试过了。你确实看到了一些东西,但它是垃圾。我假设iBeacon做了一些不能被corebooth解密的加密。我相信API的设计是为了避免失去太多的控制。