Core Bluetooth框架詳細(xì)解析(一) —— 基本概覽

版本記錄

版本號(hào) 時(shí)間
V1.0 2018.02.08

前言

Core Bluetooth框架與藍(lán)牙4.0低功耗設(shè)備進(jìn)行通信。接下來幾篇我們就一起看一下這個(gè)框架扔亥。

Overview

下面先看一下該框架的基本信息欢峰。

下面看一下該框架的基本結(jié)構(gòu)膘融。

Core Bluetooth框架提供了您的應(yīng)用程序與配備了藍(lán)牙低功耗無(wú)線技術(shù)的設(shè)備進(jìn)行通信所需的類。

不要繼承任何Core Bluetooth框架的類狼渊。 覆蓋這些類不受支持,并導(dǎo)致未定義的行為类垦。

重要:在iOS 10.0或之后鏈接的iOS應(yīng)用必須在其Info.plist文件中包含它需要訪問的數(shù)據(jù)類型的使用說明密鑰囤锉,否則將會(huì)崩潰。 要具體訪問藍(lán)牙外設(shè)數(shù)據(jù)护锤,必須包含NSBluetoothPeripheralUsageDescription官地。


Topics

1. Classes

  • CBATTRequest

    • CBATTRequest類表示來自遠(yuǎn)程中央設(shè)備(由CBCentral對(duì)象表示)的屬性協(xié)議(ATT)讀取和寫入請(qǐng)求。 遠(yuǎn)程中央處理器使用這些ATT請(qǐng)求讀取和寫入本地外圍設(shè)備上的特征值(由 CBPeripheralManager對(duì)象表示)烙懦。 另一方面驱入,本地外圍設(shè)備使用 CBATTRequest對(duì)象的屬性來使用CBPeripheralManager類的respondToRequest:withResult:方法來適當(dāng)?shù)仨憫?yīng)讀取和寫入請(qǐng)求。
  • CBAttribute

    • CBAttribute是一個(gè)抽象基類,定義了表示由外設(shè)提供的服務(wù)方面的對(duì)象集合共同的行為亏较。
  • CBCentral

    • CBCentral類表示已連接到在本地設(shè)備上實(shí)現(xiàn)外設(shè)角色的應(yīng)用程序的遠(yuǎn)程中央設(shè)備莺褒。 也就是說,在使用CBPeripheralManager類實(shí)現(xiàn)外設(shè)角色時(shí)雪情,連接到本地外設(shè)的中心被表示為CBCentral對(duì)象遵岩。 遠(yuǎn)程中心由通用唯一標(biāo)識(shí)符(UUID)標(biāo)識(shí),由NSUUID對(duì)象表示巡通。
  • CBCentralManager

    • CBCentralManager對(duì)象用于管理發(fā)現(xiàn)或連接的遠(yuǎn)程外圍設(shè)備(由CBPeripheral對(duì)象表示)尘执,包括掃描,發(fā)現(xiàn)和連接到廣告外設(shè)宴凉。
  • CBCharacteristic

    • CBCharacteristic及其子類CBMutableCharacteristic表示有關(guān)外設(shè)服務(wù)的更多信息誊锭。 CBCharacteristic對(duì)象特別表示遠(yuǎn)程外設(shè)服務(wù)的特性(遠(yuǎn)程外設(shè)由CBPeripheral對(duì)象表示)。 一個(gè)特性包含一個(gè)單一的值和描述該值的任意數(shù)量的描述符弥锄。 特征的屬性決定特征的值如何被使用以及描述符如何被訪問丧靡。
  • CBDescriptor

    • CBDescriptor及其子類CBMutableDescriptor表示外設(shè)特性的描述符。 CBDescriptor對(duì)象特別代表遠(yuǎn)程外設(shè)特性的描述符(遠(yuǎn)程外設(shè)由CBPeripheral對(duì)象表示)籽暇。 描述符提供有關(guān)特性值的更多信息温治。 例如,他們可以用人類可讀的形式描述價(jià)值戒悠,并描述如何將這些價(jià)值格式化以用于展示目的罐盔。 特征描述符還指示特征值是否在服務(wù)器(外圍設(shè)備)上配置以指示或通知客戶端(中央)何時(shí)特征值改變。
  • CBManager

    • Core Bluetooth管理器對(duì)象(中央和外圍)的抽象基類救崔。
  • CBMutableCharacteristic

    • CBMutableCharacteristic對(duì)象表示本地外設(shè)服務(wù)的特征(本地外圍設(shè)備由CBPeripheralManager對(duì)象表示)惶看。 這個(gè)類增加了對(duì)它繼承的CBCharacteristic類的許多屬性的寫入權(quán)限。
  • CBMutableDescriptor

    • CBMutableDescriptor對(duì)象表示本地外圍設(shè)備特征的描述符(本地外圍設(shè)備由CBPeripheralManager對(duì)象表示)六孵。
  • CBMutableService

    • CBMutableService類將寫入權(quán)限添加到繼承的CBService類中的所有屬性纬黎。 您可以使用此類在本地外圍設(shè)備(由CBPeripheralManager對(duì)象表示)上創(chuàng)建服務(wù)或包含的服務(wù)。 創(chuàng)建服務(wù)后劫窒,可以使用CBPeripheralManager類的addService:方法將其添加到外圍設(shè)備的本地?cái)?shù)據(jù)庫(kù)中本今。 將服務(wù)添加到外圍設(shè)備的本地?cái)?shù)據(jù)庫(kù)之后,該服務(wù)將被緩存主巍,并且不能再對(duì)其進(jìn)行更改冠息。
  • CBPeer

    • CBPeer類是一個(gè)抽象基類,用于定義表示遠(yuǎn)程設(shè)備的對(duì)象的常見行為孕索。 您通常不會(huì)創(chuàng)建CBPeer或其具體子類的實(shí)例逛艰。 相反,系統(tǒng)會(huì)在對(duì)等發(fā)現(xiàn)過程中為您創(chuàng)建它們搞旭。
  • CBPeripheral

    • CBPeripheral類代表遠(yuǎn)程外圍設(shè)備散怖,通過中央管理器(CBCentralManager的一個(gè)實(shí)例)菇绵,您的應(yīng)用程序已經(jīng)發(fā)現(xiàn)了廣告或正在連接到該應(yīng)用程序。 外設(shè)由通用唯一標(biāo)識(shí)符(UUID)標(biāo)識(shí)镇眷,由NSUUID對(duì)象表示咬最。 外圍設(shè)備可能包含一項(xiàng)或多項(xiàng)服務(wù)或提供有關(guān)其連接信號(hào)強(qiáng)度的有用信息。
  • CBPeripheralManager

    • CBPeripheralManager對(duì)象用于管理本地外圍設(shè)備的通用屬性配置文件(GATT)數(shù)據(jù)庫(kù)中的已發(fā)布服務(wù)欠动,并將這些服務(wù)通告給中央設(shè)備(由CBCentral對(duì)象表示)永乌。 服務(wù)在數(shù)據(jù)庫(kù)中時(shí),任何連接的中央服務(wù)器都可以看見具伍,并且可以訪問服務(wù)翅雏。 也就是說,如果您的應(yīng)用程序沒有指定bluetooth-peripheral后臺(tái)模式沿猜,則在后臺(tái)或處于掛起狀態(tài)時(shí)枚荣,其服務(wù)內(nèi)容將被禁用碗脊;試圖訪問服務(wù)的特征值或特征描述符的任何遠(yuǎn)程中央設(shè)備都會(huì)收到錯(cuò)誤啼肩。
  • CBService

    • CBService及其子類CBMutableService表示外圍設(shè)備的服務(wù) - 用于完成設(shè)備(或設(shè)備的某些部分)的功能或特性的數(shù)據(jù)和關(guān)聯(lián)行為的集合。 CBService對(duì)象特別表示遠(yuǎn)程外圍設(shè)備的服務(wù)(由CBPeripheral對(duì)象表示)衙伶。 服務(wù)可以是主要的或次要的祈坠,并且可以包含許多特征或包含的服務(wù)(對(duì)其他服務(wù)的引用)。
  • CBUUID

    • CBUUID類的實(shí)例表示藍(lán)牙低能量通信中使用的屬性的128位通用唯一標(biāo)識(shí)符(UUID)矢劲,例如外設(shè)的服務(wù)赦拘,特征和特征描述符。 這個(gè)類提供了許多工廠方法來處理開發(fā)你的應(yīng)用程序的長(zhǎng)UUID芬沉。 例如躺同,不是在代碼中傳遞128位Bluetooth低能量屬性的字符串表示形式,而是可以創(chuàng)建代表它的CBUUID對(duì)象丸逸,并將其傳遞蹋艺。
  • CBL2CAPChannel

2. Protocols

  • CBCentralManagerDelegate

    • CBCentralManagerDelegate協(xié)議定義了CBCentralManager對(duì)象的委托必須采用的方法。 協(xié)議的可選方法允許委托監(jiān)視外圍設(shè)備的發(fā)現(xiàn)黄刚,連接和檢索捎谨。 協(xié)議中唯一的required方法表示中央管理器的可用性,當(dāng)中央管理器的狀態(tài)更新時(shí)調(diào)用憔维。
  • CBPeripheralDelegate

    • CBPeripheral對(duì)象的代理必須采用CBPeripheralDelegate協(xié)議涛救。 委托使用此協(xié)議的方法來監(jiān)視遠(yuǎn)程外圍設(shè)備的服務(wù)和屬性的發(fā)現(xiàn),探索和交互业扒。 這個(gè)協(xié)議沒有required的方法检吆。
  • CBPeripheralManagerDelegate

    • 一個(gè)CBPeripheralManager對(duì)象的代理必須采用CBPeripheralManagerDelegate協(xié)議,一個(gè)包含眾多可選方法和一個(gè)必需方法的協(xié)議程储。 代理使用協(xié)議的可選方法來驗(yàn)證發(fā)布和廣告咧栗,并監(jiān)視來自遠(yuǎn)程中央設(shè)備的讀取逆甜,寫入和訂閱請(qǐng)求。 當(dāng)外設(shè)管理器的狀態(tài)更新時(shí)致板,調(diào)用協(xié)議的required方法交煞,指示外設(shè)管理器是否可用。

3. Reference

4. Related Documentation

后記

本篇已結(jié)束素征,后面更精彩~~~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市萝挤,隨后出現(xiàn)的幾起案子御毅,更是在濱河造成了極大的恐慌,老刑警劉巖怜珍,帶你破解...
    沈念sama閱讀 211,817評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件端蛆,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡酥泛,警方通過查閱死者的電腦和手機(jī)今豆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來柔袁,“玉大人呆躲,你說我怎么就攤上這事〈匪鳎” “怎么了插掂?”我有些...
    開封第一講書人閱讀 157,354評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)腥例。 經(jīng)常有香客問我辅甥,道長(zhǎng),這世上最難降的妖魔是什么燎竖? 我笑而不...
    開封第一講書人閱讀 56,498評(píng)論 1 284
  • 正文 為了忘掉前任璃弄,我火速辦了婚禮,結(jié)果婚禮上底瓣,老公的妹妹穿的比我還像新娘谢揪。我一直安慰自己,他們只是感情好捐凭,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評(píng)論 6 386
  • 文/花漫 我一把揭開白布拨扶。 她就那樣靜靜地躺著,像睡著了一般茁肠。 火紅的嫁衣襯著肌膚如雪患民。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,829評(píng)論 1 290
  • 那天垦梆,我揣著相機(jī)與錄音匹颤,去河邊找鬼仅孩。 笑死,一個(gè)胖子當(dāng)著我的面吹牛印蓖,可吹牛的內(nèi)容都是我干的辽慕。 我是一名探鬼主播,決...
    沈念sama閱讀 38,979評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼赦肃,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼溅蛉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起他宛,我...
    開封第一講書人閱讀 37,722評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤船侧,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后厅各,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體镜撩,經(jīng)...
    沈念sama閱讀 44,189評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評(píng)論 2 327
  • 正文 我和宋清朗相戀三年队塘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了袁梗。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,654評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡人灼,死狀恐怖围段,靈堂內(nèi)的尸體忽然破棺而出顾翼,到底是詐尸還是另有隱情投放,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布适贸,位于F島的核電站灸芳,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏拜姿。R本人自食惡果不足惜烙样,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蕊肥。 院中可真熱鬧谒获,春花似錦、人聲如沸壁却。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)展东。三九已至赔硫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間盐肃,已是汗流浹背爪膊。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工权悟, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人推盛。 一個(gè)月前我還...
    沈念sama閱讀 46,382評(píng)論 2 360
  • 正文 我出身青樓峦阁,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親耘成。 傳聞我的和親對(duì)象是個(gè)殘疾皇子拇派,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容