iOS藍(lán)牙設(shè)備名稱緩存問題的解決方法
1. 問題背景
- 當(dāng)設(shè)備已經(jīng)在 App 中連接成功后
- 修改設(shè)備名稱
- App 掃描到的設(shè)備名稱仍然是之前的名稱
- App 代碼中獲取名稱的方式為(perpheral.name)
2. 問題分析
當(dāng) APP 為中心連接其他的藍(lán)牙設(shè)備時。
首次連接成功過后,iOS系統(tǒng)內(nèi)會將該外設(shè)緩存記錄下來。
下次重新搜索時,搜索到的藍(lán)牙設(shè)備時,直接打印 (peripheral.name),得到的是之前緩存中的藍(lán)牙名稱。
如果此期間藍(lán)牙設(shè)備更新了名稱,(peripheral.name)這個參數(shù)并不會改變,所以需要換一種方式獲取設(shè)備的名稱,在廣播數(shù)據(jù)包內(nèi)有一個字段為 kCBAdvDataLocalName,可以實時獲取當(dāng)前設(shè)備名稱。
3. 問題解決
下面給出OC 和 Swift 的解決方法:
OC
-(void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary<NSString *,id> *)advertisementData RSSI:(NSNumber *)RSSI{ NSString *localName = [advertisementData objectForKey:@"kCBAdvDataLocalName"]; }
Swift
func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) { let localName = advertisementData["kCBAdvDataLocalName"] }
總結(jié)
到此這篇關(guān)于iOS藍(lán)牙設(shè)備名稱緩存問題的解決方法的文章就介紹到這了,更多相關(guān)iOS藍(lán)牙設(shè)備名稱緩存內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
iOS DispatchSourceTimer 定時器的具體使用
定時器在很多地方都可以用到,本文主要介紹了iOS DispatchSourceTimer 定時器的具體使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-05-05iOS實現(xiàn)不規(guī)則Button點擊效果實例代碼
這篇文章主要給大家介紹了關(guān)于iOS實現(xiàn)不規(guī)則Button點擊的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對各位iOS開發(fā)者們具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04iOS中navigationController 去掉背景圖片、去掉底部線條的核心代碼
本文給大家?guī)砹薸OS中navigationController 去掉背景圖片、去掉底部線條的核心代碼,有需要的朋友可以參考下2016-08-08iOS如何跳轉(zhuǎn)到App Store下載評分頁面示例代碼
最近在工作中遇到一個需求,需要跳轉(zhuǎn)到App Store下載評分,通過查找相關(guān)的資料最終解決了,下面這篇文章主要給大家介紹了關(guān)于iOS如何跳轉(zhuǎn)到App Store下載評分頁面的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-12-12iOS實現(xiàn)支付寶螞蟻森林隨機(jī)按鈕及抖動效果
這篇文章主要為大家詳細(xì)介紹了iOS實現(xiàn)支付寶螞蟻森林隨機(jī)按鈕及抖動效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-02-02iOS如何優(yōu)雅地消除應(yīng)用角標(biāo)詳解
關(guān)于應(yīng)用角標(biāo)相信大家應(yīng)該都有所了解吧,這篇文章主要給大家介紹了關(guān)于iOS如何優(yōu)雅地消除應(yīng)用角標(biāo)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對各位iOS開發(fā)者們具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-12-12