iOS - corebluetooth retrieveConnectedPeripheralsWithServices: - 如何获取广告数据?

时间:2014-10-09 20:09:57

标签: ios bluetooth core-bluetooth advertisement

我正在为iOS 7编写一套蓝牙低功耗应用程序。 当应用程序启动时,我感兴趣的外围设备仍然可以连接到iOS设备,并且为了避免扫描外围设备,立即连接会很棒。 retrieveConnectedPeripheralsWithServices:看起来很完美,而且看起来确实像宣传的那样工作:我得到一个CBPeripherals列表,它通过一些后台应用程序连接到设备。

到目前为止一切顺利,但问题在于:

我想要的AdvertisementData中有信息,但是我不知道如何在这条路线上获取AdvertisementData。 As far as I can see,advertiseData仅在扫描结果时可用。

所以我的问题是: *如果CBPeripheral返回retrieveConnectedPeripheralsWithServices:,如何获取该外围设备的关联advertisementData

一种解决方法是利用设备可能连接到我自己套件中的另一个应用程序的事实,因此我可以将广告数据保存在应用程序之间共享的存储中,但这既不干净也不理想,因为该设备有可能连接到其他人的应用程序,因此我不了解该场景中的广告数据,并且需要求助于扫描。

1 个答案:

答案 0 :(得分:2)

不幸的是,广告数据仅在您扫描时可用。无法以任何其他方式从Core Bluetooth或任何其他框架中检索它。如果广告非常重要,那么你应该修改你的设计,而不是沿着扫描路线。