【发布时间】:2019-08-08 22:25:10
【问题描述】:
根据 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。
对此的任何指示都会有所帮助。
【问题讨论】:
标签: ios background core-bluetooth cbperipheralmanager bluetooth-peripheral