在iOS的藍牙開發中,CoreBluetooth框架是必不可少的.它以代理的方式告訴我們藍牙連接狀態,數據收發.雖然很實用,但是卻加重了我們的負擔.往往是調用一個方法之后,還要在代理方法中處理回調,特別是藍牙相關的代理實在有點多.
解決方案: CYBleManager
它是一個基于CoreBluetooth框架封裝的,實用block方式處理回調的藍牙相關操作組件,包括藍牙連接,藍牙數據收發,藍牙OTA.
實用性:
-
基本功能
搜索藍牙設備,連接藍牙,斷開連接,發送指令到藍牙設備,接收藍牙設備廣播的數據.
-
設置搜索藍牙設備時間
CYBleManager 支持設置藍牙搜索的時間,在很多開發場景中,我們不希望藍牙搜索功能一直掛在后臺,更不想把停止搜索的功能暴露給用戶,那么這個設置搜索時長的功能將會非常有用.
-
設置藍牙連接超時時間
通常有一些設備并非我們調用連接方法之后就能很穩定的連接上它,有時需要很長時間,有時則是一直無法連接上,但是CoreBluetooth框架并沒有幫我們處理這些狀態.那么我們自己設置一個超時時間將會很有幫助.
-
根據指定的設備名稱或設備的UUID來準確搜索藍牙設備
CoreBluetooth提供了根據service來搜索設備,但是可能這一種條件還不足以讓我們能精確的找到我們所需要的設備.
-
自動連接藍牙設備
我相信所有人都不希望每次進入APP之后都要去連接藍牙設備.
-
藍牙空中升級(OTA)
iOSDFULibrary框架,寫的非常好的一個OTA升級的框架.也集成到CYBleManager中了.
由于個人不善表達,所以文中并未列出具體的實現細節和我所遇到的bug,如果有幸能讓你看到這篇文章并且你也有一些關于藍牙方面的問題,歡迎和我討論.QQ郵箱:864299430@qq.com