iOS藍芽裝置名稱快取問題的解決方法

2022-09-20 20:21:07 字數 703 閱讀 4500

1. 問題背景

www.cppcns.com

2. 問題分析

當 app 為中心連線其他的藍芽裝置時。

首次連線成功過後,ios系統內會將該外設快取記錄下來。

下次重新搜尋時,搜尋到的藍芽裝置時,直接列印 (peripheral.name),得到的是之前快取中的藍芽名稱。

如果此期間藍芽裝置更新了名稱,(peripheral.name)這個引數並不會改變,所以需要換一種方式獲取裝置的名稱,在廣播資料報內有乙個欄位為 kcba***atalocalname,可以實時獲取當前裝置名稱。

3. 問題解決

下面給出oc 和 swift 的解決方法:

oc-(void)centralmanager:(cbcentralmanager *)central diddiscoverperipheral:(cbperipheral *)cwlbdnndperipheral advertisementdata:(nsdictionary *)advertisementdata rssi:(nsnumber *)rssi

swift

func centralmanager(_ central: cbcentralmanager, diddiscover peripheral: cbperipheral, advertisementdata: [string : any], rssi rssi: nsnumber)

總結

藍芽裝置改引數教程 修改藍芽裝置的名稱

修改藍芽裝置的名稱並不是一件困難的事情,按照手冊規定的at指令通過串列埠傳送到藍芽裝置即可。不過手機要通過藍芽連線的無線通訊方式來修改藍芽裝置的名稱,則並不簡單。原因在於 手機傳送的遵循at指令格式的資料會被藍芽當作普通資料內容而傳送到微控制器 藍芽裝置處於連線的狀態下,at指令並不能完成對裝置名稱...

iOS 藍芽的使用 獲取周邊外接裝置

簡單的獲取周邊的藍芽裝置需要以下幾步 1 匯入對應的框架 import2 建立物件,遵循 事件 建立cbcentralmanager物件,並遵循cbcentralmanagerdelegate 協議 inte ce bluetoothviewcontroller property nonatomic...

nginx cache不快取問題的原因與解決方案

nginx.conf 部分內容 nginx不快取原因 預設情況下,nginx是否快取是由nginx快取伺服器與源伺服器共同決定的,快取伺服器需要嚴格遵守源伺服器響應的header來決定是否快取以及快取的時常。header主要有如下 cache control no cache n 如果出現這兩值,n...