iOS CoreBluetooth的swift實現(xiàn) (2)

iOS CoreBluetooth的swift實現(xiàn)(1)

iOS CoreBluetooth的swift實現(xiàn) (3)

不妨想一下,我們在與人交流的時候需要做些什么,當然,我們先實現(xiàn)設(shè)備作為central時的數(shù)據(jù)接收和處理。


1.辨明對方的身份,如果他是你想聽他說話的人,那就聽他說吧(廢話)

2.接收別人說的話,大腦對這些信息進行處理。

3.注意保持聽取,不要就聽一會兒,態(tài)度端正一點。


在程序中我們做的方式可以類比過去(用CBCentralManager實現(xiàn))

1.搜索相應(yīng)Peripheral并連接

2.連接后進行數(shù)據(jù)接收,對里面的characteristic進行讀寫。

3.保持數(shù)據(jù)的更新回調(diào)


貼一下代碼來解釋一下


central

當然現(xiàn)在還沒有太多內(nèi)容,取決于你的需求

COCenManager.scanForPeripheralsWithServices([CBUUID]?, options: [String:AnyObject]?)

這個方法里要傳入設(shè)備serviceUUID數(shù)組,設(shè)備就會搜索具有這些UUIDservice的設(shè)備,這個就需要知道UUID的一些東西了,他其實是作為一個標簽一樣的存在,可以自己查一下相關(guān)的知識,這里不再詳細講解。UUIDnil,那就會搜索所有設(shè)備。

經(jīng)過這幾步(參數(shù)確定,不要像我這樣。)我們就建立了設(shè)備與peripheral的連接,注意,如果連接失敗需要在didFailToConnectPeripheral里做出響應(yīng)。

discoverService

discoverService傳入一個CBUUID數(shù)組,如果填入nil則是默認搜索了所有的service當然不推薦這么做,這樣會耗費沒必要的電量和時間。當調(diào)用這個函數(shù)成功之后,設(shè)備會回調(diào)

func peripheral(peripheral:CBPeripheral, didDiscoverServices error:NSError?)

在這個函數(shù)里面我們可以對所需要的service進行提取處理。首先我們最想做的就是提取出他所提供的的內(nèi)容--characteristic。

discoverCharacteristics([CBUUID]?, forService:CBService)

就是這個了!用peripheral獲得相應(yīng)serviceCharacteristicsUUID數(shù)組,就可以讀取啦。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容