最近做藍芽 突然發現 ios 8.2 的 corebluetooth 在藍芽廣播包 中返回的 kcba***atamanufacturerdata 資料 和 ios 9 或者 ios 10 返回的資料不一樣 然後開始了** :
以我的得到的 藍芽廣播資料為例
ios 8.2 kcba***atamanufacturerdata: <00605257
2d424c45>
ios 9 10 :kcba***atamanufacturerdata: <00016e63
6da05a5c
00a01400
6052572d
424c45>
我們看到 黑線部分是共同的部分 ios 10 那個去掉黑線部分 ,前邊的一串 是 裝置廠商資訊, 裡面有裝置 唯一標識 來判斷你到底是手環 還是自家裝置神馬的, 還有裝置mac 位址(corebluetooth 不直接把 你的裝置mac 位址 直接暴露出來 , 而是 把你的裝置的 mac位址 和你 手機的mac位址 以某種演算法 得出來一串數字 :就是你的peripheral.identifier )當然 藍芽ble 廣播包解析
ad type定義 摘錄於 借鑑與 注意 該解析適合標準藍芽廣播,有的破壞者為了讓別人解析不出來會對廣播包資料打亂,需要還原真實廣播後才能解析。擼起袖子開始搬 解析ble廣播 1 藍芽廣播長度62 前31定義位廣播資料 後31位響應資料 2 有效資料部分 包含若干個廣播資料單元,稱為 ad stru...
IOS BLE 獲取藍芽外設的廣播包資料
void centralmanager cbcentralmanager central diddiscoverperipheral cbperipheral peripheral advertisementdata nsdictionary advertisementdata rssi nsnum...
廣播資訊帶藍芽位址
gaprole processgapmsg 對gap device init done event的處理。這裡在addr加入到advertising data。case gap device init done event if stat success notify true break 引數設成...