2014-10-09 42 views
0

我正在爲iOS 7編寫一套藍牙低耗能應用程序。 當應用程序啓動時,我感興趣的外設仍然有機會連接到iOS設備,並且避免掃描外圍設備這將是很好的立即連接。 retrieveConnectedPeripheralsWithServices:看起來非常完美,而且確實看起來像廣告一樣工作:我得到一些CBPeripherals,通過一些後臺應用程序連接到設備。iOS - corebluetooth retrieveConnectedPeripheralsWithServices: - 如何獲取廣告數據?

到目前爲止好,但這裏的問題:

有一個在我想要的AdvertisementData信息,但我不知道該怎麼走這條路時,你得到AdvertisementData。 As far as I can see,advertisementData僅作爲掃描結果可用。

所以我的問題是這樣的: *給定​​一個CBPeripheral通過retrieveConnectedPeripheralsWithServices:回來了,我怎樣才能在外設的相關advertisementData

一種解決方法是利用設備可能連接到我自己套件中的另一個應用程序這一事實,這樣我就可以將廣告數據自己保留在應用程序之間共享的存儲中,但這既不乾淨也不理想,因爲有可能設備連接到其他人的應用程序,所以我沒有洞察該場景中的廣告數據,因此需要進行掃描。

+0

許多 - 但不是全部 - 外設將提供通過其GATT廣告的相同服務。這個評論可能會也可能不會有幫助,具體取決於您想要做什麼以及想要與哪些外圍設備交談。 – CuriousRabbit 2014-10-10 18:05:23

回答

2

不幸的是,廣告數據只有在您掃描時纔可用。無法以任何其他方式從核心藍牙或任何其他框架中檢索它。如果廣告非常重要,而且沿着掃描路線走,你應該修改你的設計。

+0

我認爲你是對的。謝謝。 – 2014-10-10 17:47:22