根据 iOS 文档,当使用 BLE 作为外围设备的 iOS 应用程序进入后台模式时,外围设备名称不会被公布,并且所有服务 UUID 都放置在一个特殊的“溢出”区域,它们只能被 iOS 设备发现,该设备是明确地扫描它们。
当应用程序在后台时,我嗅探了无线发送的 BLE 数据包。没有本地名称和服务 UUID 数据。有一个对服务 UUID 进行编码的“溢出”区域。可以在这里找到一个简短的讨论:https ://github.com/crownstone/bluenet-ios-basic-localization/blob/master/BROADCASTING_AS_BEACON.md
我想知道是否有任何方法可以从“溢出”区域的数据中确定广告的实际服务 UUID。iOS 文档指出,当一个应用程序在后台宣传为 BLE 外围设备时,另一个 iOS 应用程序可以通过明确指定要扫描的服务 UUID 来找到它。因此,必须有一种方法可以从溢出数据中找出实际的 UUID。
对此的任何指示都会有所帮助。