iOS藍(lán)牙設(shè)備名稱緩存問(wèn)題的解決方法
1. 問(wèn)題背景
- 當(dāng)設(shè)備已經(jīng)在 App 中連接成功后
- 修改設(shè)備名稱
- App 掃描到的設(shè)備名稱仍然是之前的名稱
- App 代碼中獲取名稱的方式為(perpheral.name)
2. 問(wèn)題分析
當(dāng) APP 為中心連接其他的藍(lán)牙設(shè)備時(shí)。
首次連接成功過(guò)后,iOS系統(tǒng)內(nèi)會(huì)將該外設(shè)緩存記錄下來(lái)。
下次重新搜索時(shí),搜索到的藍(lán)牙設(shè)備時(shí),直接打印 (peripheral.name),得到的是之前緩存中的藍(lán)牙名稱。
如果此期間藍(lán)牙設(shè)備更新了名稱,(peripheral.name)這個(gè)參數(shù)并不會(huì)改變,所以需要換一種方式獲取設(shè)備的名稱,在廣播數(shù)據(jù)包內(nèi)有一個(gè)字段為 kCBAdvDataLocalName,可以實(shí)時(shí)獲取當(dāng)前設(shè)備名稱。
3. 問(wèn)題解決
下面給出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è)備名稱緩存問(wèn)題的解決方法的文章就介紹到這了,更多相關(guān)iOS藍(lán)牙設(shè)備名稱緩存內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
iOS DispatchSourceTimer 定時(shí)器的具體使用
定時(shí)器在很多地方都可以用到,本文主要介紹了iOS DispatchSourceTimer 定時(shí)器的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05iOS擼一個(gè)簡(jiǎn)單路由Router的實(shí)現(xiàn)代碼
這篇文章主要介紹了iOS擼一個(gè)簡(jiǎn)單路由Router的實(shí)現(xiàn)代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-09-09iOS實(shí)現(xiàn)不規(guī)則Button點(diǎn)擊效果實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于iOS實(shí)現(xiàn)不規(guī)則Button點(diǎn)擊的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)各位iOS開(kāi)發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04iOS中navigationController 去掉背景圖片、去掉底部線條的核心代碼
本文給大家?guī)?lái)了iOS中navigationController 去掉背景圖片、去掉底部線條的核心代碼,有需要的朋友可以參考下2016-08-08iOS模仿電子書(shū)首頁(yè)實(shí)現(xiàn)書(shū)架布局樣式
這篇文章主要為大家詳細(xì)介紹了iOS實(shí)現(xiàn)類似電子書(shū)首頁(yè)效果樣式,實(shí)現(xiàn)書(shū)架布局樣式,感興趣的小伙伴們可以參考一下2016-03-03iOS如何跳轉(zhuǎn)到App Store下載評(píng)分頁(yè)面示例代碼
最近在工作中遇到一個(gè)需求,需要跳轉(zhuǎn)到App Store下載評(píng)分,通過(guò)查找相關(guān)的資料最終解決了,下面這篇文章主要給大家介紹了關(guān)于iOS如何跳轉(zhuǎn)到App Store下載評(píng)分頁(yè)面的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-12-12iOS實(shí)現(xiàn)支付寶螞蟻森林隨機(jī)按鈕及抖動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了iOS實(shí)現(xiàn)支付寶螞蟻森林隨機(jī)按鈕及抖動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02iOS音樂(lè)播放器實(shí)現(xiàn)代碼完整版
這篇文章主要為大家詳細(xì)介紹了iOS音樂(lè)播放器實(shí)現(xiàn)代碼完整版,包括音頻列表、播放器、后臺(tái)播放、鎖屏播放,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05iOS如何優(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)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)各位iOS開(kāi)發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-12-12