官方文檔:https://developer.apple.com/reference/corebluetooth
翻譯:廖馬兒
Framwwork
Core Bluetooth
與低功耗Bluetooth 4.0設(shè)備通訊
概述
Core Bluetooth 框架提供了app與配備了低功耗藍(lán)牙設(shè)備通訊的功能豐富的類蘸朋。
不要繼承任何Core Bluetooth 框架提供的類。重載這些類是不推薦的,而且后果是不堪設(shè)想勤讽。
重點(diǎn)
iOS app 如果涉及到Core Bluetooth Framework 在iOS10z.0之后琼牧,必須在Info.plist 中配置權(quán)限:NSBluetoothPeripheralUsageDescription.
符號(hào)
類
CBATTRequest
CBATTRequest
類 描述了 Attribute Protocol (ATT)
從遠(yuǎn)程中樞的設(shè)備( CBCentral
對(duì)象) 的讀寫請(qǐng)求丙唧。遠(yuǎn)程中樞用這些ATT請(qǐng)求讀寫特有的值在這些本地外圍設(shè)備( CBPeripheralManager
對(duì)象 )上命黔。在另一方面件豌,本地外圍設(shè)備用CBATTRequest
對(duì)象的屬性僵驰,用 CBPeripheralManager
類的respondToRequest:withResult:
方法響應(yīng)那些讀寫請(qǐng)求喷斋。
CBAttribute
CBAttribute 是一個(gè)抽象的基礎(chǔ)類唁毒,它代表由外設(shè)提供的服務(wù)的方面的對(duì)象集合所共有的行為。
CBCentral
CBCentral
類表示已經(jīng)連接到在本地設(shè)備上實(shí)現(xiàn)外圍角色的應(yīng)用的遠(yuǎn)程中央設(shè)備星爪。也就是說浆西,當(dāng)您使用CBPeripheralManager
類實(shí)現(xiàn)外圍角色時(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ù)的進(jìn)一步信息憎瘸。 CBCharacteristic特征對(duì)象特別地表示遠(yuǎn)程外圍設(shè)備的服務(wù)的特性(遠(yuǎn)程外圍設(shè)備由CBPeripheral
表示)入篮。特征包含單個(gè)值和描述該值的任何數(shù)量的描述符。特性的屬性確定如何使用特性的值以及如何訪問描述符幌甘。
CBMutableDescriptor
CBMutableDescriptor
表示外設(shè)的特性的描述符潮售。 CBDescriptor
對(duì)象特別地表示遠(yuǎn)程外圍設(shè)備的特性的描述符(遠(yuǎn)程外圍設(shè)備由CBPrepheral
對(duì)象表示)。描述符提供關(guān)于特性值的進(jìn)一步信息锅风。例如酥诽,它們可以以可讀的形式描述值,并描述如何為了呈現(xiàn)的目的而格式化該值皱埠。特性描述符還指示特性的值是否在服務(wù)器(外設(shè))上配置以在特性的值改變時(shí)指示或通知客戶端(中央)肮帐。
CBManager
CBManager對(duì)象的(中央和外設(shè))抽象基類
CBMutableCharacteristic
CBMutableCharacteristic
表示本地外圍設(shè)備服務(wù)的特性(本地外圍設(shè)備由CBPeripheralManager
對(duì)象表示)。這個(gè)類增加了對(duì)CBCharacteristic
類中的許多屬性的寫訪問
CBMutableDescriptor
CBMutableDescriptor
對(duì)象表示本地外設(shè)的特性的描述符(本地外圍設(shè)備由CBPeripheralManager
對(duì)象表示)
CBMutableService
CBMutableService
類添加對(duì)它繼承的CBService
類中的所有屬性的寫訪問權(quán)边器。你使用此類在本地外圍設(shè)備(由CBPeripheralManager
對(duì)象表示)上創(chuàng)建服務(wù)或包含的服務(wù)训枢。創(chuàng)建服務(wù)后,可以使用CBPeripheralManager
類的add(_ :)
方法將其添加到外設(shè)的本地?cái)?shù)據(jù)庫忘巧。將服務(wù)添加到外設(shè)的本地?cái)?shù)據(jù)庫后恒界,該服務(wù)將被緩存,你無法再對(duì)其進(jìn)行更改砚嘴。
CBPeer
CBPeer
類是一個(gè)抽象基類十酣,定義表示遠(yuǎn)程設(shè)備的對(duì)象的常見行為。您通常不創(chuàng)建CBPeer
或其具體子類的實(shí)例际长。相反耸采,系統(tǒng)會(huì)在發(fā)現(xiàn)過程中需要的時(shí)候?yàn)槟銊?chuàng)建它們。
CBPeripheral
CBPeripheral
類表示遠(yuǎn)程外圍設(shè)備也颤,您的應(yīng)用程序通過中央管理器(CBCentralManager
的實(shí)例) - 已發(fā)現(xiàn)廣告或當(dāng)前連接到洋幻。外設(shè)由通用唯一標(biāo)識(shí)符(UUID
)標(biāo)識(shí),由NSUUID
對(duì)象表示翅娶。外設(shè)可以包含一個(gè)或多個(gè)服務(wù)或提供關(guān)于其連接的信號(hào)強(qiáng)度的有用信息文留。
CBPeripheralManager
CBPeripheralManager
對(duì)象用于管理本地外圍設(shè)備的通用屬性簡(jiǎn)檔(GATT
)數(shù)據(jù)庫中的已發(fā)布服務(wù)好唯,并將這些服務(wù)通告給中央設(shè)備(由CBCentral
對(duì)象表示)。當(dāng)服務(wù)在數(shù)據(jù)庫中時(shí)燥翅,它是可見的骑篙,并且可以由任何連接的中心訪問。也就是說森书,如果你的應(yīng)用程序沒有指定藍(lán)牙 - 外圍設(shè)備背景模式靶端,其服務(wù)的內(nèi)容會(huì)在處于后臺(tái)或處于暫停狀態(tài)時(shí)被禁用;任何試圖訪問服務(wù)的特征值或特征描述符的遠(yuǎn)程中心都會(huì)收到錯(cuò)誤。
CBMutableService
CBMutableService
表示外圍設(shè)備的服務(wù) - 用于實(shí)現(xiàn)設(shè)備(或設(shè)備的部分)的功能或特征的數(shù)據(jù)和相關(guān)行為的集合凛膏。
CBService
CBService
對(duì)象特別地表示遠(yuǎn)程外圍設(shè)備(由CBPeripheral
對(duì)象表示)的服務(wù)杨名。服務(wù)是主要的或次要的,可能包含許多特性或包含的服務(wù)(對(duì)其他服務(wù)的引用)猖毫。
CBUUID
CBUUID
類的實(shí)例表示在藍(lán)牙低能量通信中使用的屬性的128位通用唯一標(biāo)識(shí)符(UUID
)台谍,諸如外圍設(shè)備的服務(wù),特性和特性描述符吁断。這個(gè)類提供了許多工廠方法來處理長(zhǎng)UUID
時(shí)趁蕊,開發(fā)你的應(yīng)用程序。例如仔役,您不必在代碼中傳遞128位藍(lán)牙低功耗屬性的字符串表示形式掷伙,而是可以創(chuàng)建一個(gè)代表它的CBUUID
對(duì)象,并將其傳遞 又兵。
CBCentralManagerDelegate
CBCentralManagerDelegate
協(xié)議定義了CBCentralManager
對(duì)象的委托必須采用的方法任柜。協(xié)議的可選方法允許代理監(jiān)視外圍設(shè)備的發(fā)現(xiàn),連接和檢索寒波。協(xié)議唯一需要的方法指示中央管理器的可用性乘盼,并且在中央管理器的狀態(tài)被更新時(shí)被調(diào)用升熊。
CBPeripheral
CBPeripheral
對(duì)象的代理必須采用CBPeripheralDelegate
協(xié)議俄烁。代理使用此協(xié)議的方法來監(jiān)視遠(yuǎn)程外圍設(shè)備的服務(wù)和屬性的發(fā)現(xiàn),探索和交互级野。此協(xié)議中沒有必需的方法页屠。
CBPeripheralManager
CBPeripheralManager
對(duì)象的代理必須采用CBPeripheralManagerDelegate
協(xié)議,該協(xié)議由許多可選方法和一個(gè)必需方法組成蓖柔。代理使用協(xié)議的可選方法來驗(yàn)證發(fā)布和廣告辰企,并監(jiān)視來自遠(yuǎn)程中央設(shè)備的讀取,寫入和訂閱請(qǐng)求况鸣。在更新外圍設(shè)備管理器的狀態(tài)時(shí)牢贸,調(diào)用協(xié)議的必需方法來指示外設(shè)管理器是否可用。
Core Bluetooth Constants
描述了Core Bluetooth中的常量镐捧。
詳情:https://developer.apple.com/reference/corebluetooth/core_bluetooth_constants
Core Bluetooth枚舉
詳情:https://developer.apple.com/reference/corebluetooth/core_bluetooth_enumerations
CBAttributePermissions
表示特征值的讀取潜索,寫入和加密權(quán)限的值臭增。
CBCharacteristicProperties
表示特性的可能屬性的值。由于可以組合特性屬性竹习,所以特性可以具有設(shè)置的多個(gè)屬性值誊抛。