2014-03-03 364 views
2

我試圖更好地理解藍牙LE並一直在玩iOS和Android的藍牙棧和各種信標(StickNFind,Estimote等...)使用CoreBluetooth有可能獲得藍牙LE設備的原始掃描記錄

  • 在Android上,當設備被發現時,我得到一個原始的「掃描記錄」 - 我可以解析自己以獲取設備的廣告數據的一個數據塊。
  • 在iOS上,這由iOS解析並顯示爲字典。

不夠公平,但我試圖用CoreBluetooth(即:不定位服務)來讀取一個iBeacon顯示廣告數據,發現的iOS似乎去掉了iBeacon顯示設備製造商特定的廣告數據。

我意識到我應該使用蘋果認可的方式來檢測iBeacons,但它並不真正適合我們的用例,並且懷疑是否有解決方法。

+0

看看這個http://beekn.net/2013/10/ibeacons-can-my-ios-app-find-beacons-that-arent-mine/ –

回答

5

編輯:iOS不允許您訪問任何與iBeacon格式不匹配的藍牙廣告的原始數據。

不幸的是,iOS阻止訪問所有BLE廣告 的原始數據,其中包括iBeacons的 。這使得無法通過CoreBluetooth訪問iBeacon標識符。

查看詳情this blog post

+0

這隻適用於iBeacons。您確實可以在iOS上獲得任何其他LE廣告的原始廣告數據:'[advertisementData objectForKey:CBAdvertisementDataManufacturerDataKey]' –

+0

您是對的。當我發佈答案時,我不知道這一點。我會澄清。 – davidgyoung