版本記錄
版本號(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
類表示來自遠(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
是一個(gè)抽象基類,定義了表示由外設(shè)提供的服務(wù)方面的對(duì)象集合共同的行為亏较。
-
-
-
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
對(duì)象用于管理發(fā)現(xiàn)或連接的遠(yuǎn)程外圍設(shè)備(由CBPeripheral對(duì)象表示)尘执,包括掃描,發(fā)現(xiàn)和連接到廣告外設(shè)宴凉。
-
-
-
CBCharacteristic
及其子類CBMutableCharacteristic表示有關(guān)外設(shè)服務(wù)的更多信息誊锭。CBCharacteristic
對(duì)象特別表示遠(yuǎn)程外設(shè)服務(wù)的特性(遠(yuǎn)程外設(shè)由CBPeripheral對(duì)象表示)。 一個(gè)特性包含一個(gè)單一的值和描述該值的任意數(shù)量的描述符弥锄。 特征的屬性決定特征的值如何被使用以及描述符如何被訪問丧靡。
-
-
-
CBDescriptor
及其子類CBMutableDescriptor表示外設(shè)特性的描述符。CBDescriptor
對(duì)象特別代表遠(yuǎn)程外設(shè)特性的描述符(遠(yuǎn)程外設(shè)由CBPeripheral對(duì)象表示)籽暇。 描述符提供有關(guān)特性值的更多信息温治。 例如,他們可以用人類可讀的形式描述價(jià)值戒悠,并描述如何將這些價(jià)值格式化以用于展示目的罐盔。 特征描述符還指示特征值是否在服務(wù)器(外圍設(shè)備)上配置以指示或通知客戶端(中央)何時(shí)特征值改變。
-
-
-
Core Bluetooth
管理器對(duì)象(中央和外圍)的抽象基類救崔。
-
-
-
CBMutableCharacteristic
對(duì)象表示本地外設(shè)服務(wù)的特征(本地外圍設(shè)備由CBPeripheralManager對(duì)象表示)惶看。 這個(gè)類增加了對(duì)它繼承的CBCharacteristic類的許多屬性的寫入權(quán)限。
-
-
-
CBMutableDescriptor
對(duì)象表示本地外圍設(shè)備特征的描述符(本地外圍設(shè)備由CBPeripheralManager對(duì)象表示)六孵。
-
-
- 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
類是一個(gè)抽象基類,用于定義表示遠(yuǎn)程設(shè)備的對(duì)象的常見行為孕索。 您通常不會(huì)創(chuàng)建CBPeer或其具體子類的實(shí)例逛艰。 相反,系統(tǒng)會(huì)在對(duì)等發(fā)現(xiàn)過程中為您創(chuàng)建它們搞旭。
-
-
-
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
對(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
及其子類CBMutableService
表示外圍設(shè)備的服務(wù) - 用于完成設(shè)備(或設(shè)備的某些部分)的功能或特性的數(shù)據(jù)和關(guān)聯(lián)行為的集合。CBService
對(duì)象特別表示遠(yuǎn)程外圍設(shè)備的服務(wù)(由CBPeripheral
對(duì)象表示)衙伶。 服務(wù)可以是主要的或次要的祈坠,并且可以包含許多特征或包含的服務(wù)(對(duì)其他服務(wù)的引用)。
-
-
-
CBUUID
類的實(shí)例表示藍(lán)牙低能量通信中使用的屬性的128位通用唯一標(biāo)識(shí)符(UUID)矢劲,例如外設(shè)的服務(wù)赦拘,特征和特征描述符。 這個(gè)類提供了許多工廠方法來處理開發(fā)你的應(yīng)用程序的長(zhǎng)UUID芬沉。 例如躺同,不是在代碼中傳遞128位Bluetooth低能量屬性的字符串表示形式,而是可以創(chuàng)建代表它的CBUUID
對(duì)象丸逸,并將其傳遞蹋艺。
-
2. Protocols
-
-
CBCentralManagerDelegate協(xié)議定義了
CBCentralManager
對(duì)象的委托必須采用的方法。 協(xié)議的可選方法允許委托監(jiān)視外圍設(shè)備的發(fā)現(xiàn)黄刚,連接和檢索捎谨。 協(xié)議中唯一的required方法表示中央管理器的可用性,當(dāng)中央管理器的狀態(tài)更新時(shí)調(diào)用憔维。
-
CBCentralManagerDelegate協(xié)議定義了
-
-
CBPeripheral對(duì)象的代理必須采用
CBPeripheralDelegate
協(xié)議涛救。 委托使用此協(xié)議的方法來監(jiān)視遠(yuǎn)程外圍設(shè)備的服務(wù)和屬性的發(fā)現(xiàn),探索和交互业扒。 這個(gè)協(xié)議沒有required的方法检吆。
-
CBPeripheral對(duì)象的代理必須采用
-
- 一個(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
-
- 本文檔介紹了Core Bluetooth框架中的常量斟或。
4. Related Documentation
后記
本篇已結(jié)束素征,后面更精彩~~~