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)
貼一下代碼來解釋一下

當然現(xiàn)在還沒有太多內(nèi)容,取決于你的需求
COCenManager.scanForPeripheralsWithServices([CBUUID]?, options: [String:AnyObject]?)
這個方法里要傳入設(shè)備service的UUID數(shù)組,設(shè)備就會搜索具有這些UUID的service的設(shè)備,這個就需要知道UUID的一些東西了,他其實是作為一個標簽一樣的存在,可以自己查一下相關(guān)的知識,這里不再詳細講解。UUID是nil,那就會搜索所有設(shè)備。
經(jīng)過這幾步(參數(shù)確定,不要像我這樣。)我們就建立了設(shè)備與peripheral的連接,注意,如果連接失敗需要在didFailToConnectPeripheral里做出響應(yīng)。

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)service的Characteristics的UUID數(shù)組,就可以讀取啦。