框架
核心藍(lán)牙
與藍(lán)牙4.0低功耗設(shè)備通信
概述
核心藍(lán)牙框架提供了一些你應(yīng)用程序與裝備了藍(lán)牙低功耗無線技術(shù)的設(shè)備之間進(jìn)行通信所必需的類
不要給核心藍(lán)牙框架的類添加子類苍息。重寫這些框架類是不被框架本身支持的,也會導(dǎo)致不能被框架識別的后果聊浅。
重要
iOS 10.0或者之后的iOS應(yīng)用程序在它的Info.plist文件中必須包含對它需要訪問或者將會崩潰的數(shù)據(jù)類型的用法描述鍵盗扒。為了具體地訪問藍(lán)牙外圍數(shù)據(jù),Info.plist文件中必須包含NSBluetoothPeripheralUsageDescription
鍵
主題
類
-
CBATTRequest
CBATTRequest類表示從遠(yuǎn)程中心設(shè)備(由CBCentral
對象表示)請求讀取和寫入的屬性協(xié)議(ATT)。遠(yuǎn)程中心使用這些ATT請求讀取和寫入本地外圍設(shè)備的特征值(由CBPeripheralManager
對象表示)虏肾。另一方面,本地外圍設(shè)備使用CBATTRequest
對象的屬性適當(dāng)?shù)仨憫?yīng)讀取和寫入請求欢搜,使用CBPeripheralManager
類的respond(to:withResult:)
方法 -
CBAttribute
CBAttribute是一個抽象的基類封豪,用來定義常見的集合對象的行為,這些集合對象代表了由外圍設(shè)備提供的各方面的服務(wù)炒瘟。 -
CBCentral
CBCentral類表示已經(jīng)連接上一個在本地設(shè)備上實(shí)現(xiàn)外圍設(shè)備角色的應(yīng)用程序的遠(yuǎn)程中心設(shè)備吹埠。也就是說,當(dāng)你使用CBPeripheralManager
類實(shí)現(xiàn)外圍設(shè)備角色的時候疮装,連接到你的本地外圍設(shè)備的中心會被視為CBCentral對象缘琅。遠(yuǎn)程中心由全局唯一標(biāo)識符(UUIDs)識別,由NSUUID
對象表示廓推。 -
CBCentralManager
CBCentralManager對象用于管理發(fā)現(xiàn)的或者是連接的遠(yuǎn)程外圍設(shè)備(由CBPeripheral
對象表示)刷袍,包括掃描,發(fā)現(xiàn)和連接到廣告的外圍設(shè)備受啥。 -
CBCharacteristic
CBCharacteristic和它的子類CBMutableCharacteristic
一個外圍設(shè)備的更多服務(wù)信息做个。CBCharacteristic對象特別表示遠(yuǎn)程外圍設(shè)備的服務(wù)特征(遠(yuǎn)程外圍設(shè)備由CBPeripheral
對象表示)。一個特征包含單個值和很多描述這個值的描述符滚局。特征的屬性決定了特征值如何被使用和描述符是怎樣被訪問的居暖。 -
CBDescriptor
CBDescriptor和它的子類CBMutableDescriptor
表示一個外圍設(shè)備的特征描述符。CBDescriptor對象特別表示一個遠(yuǎn)程外圍設(shè)備的特征描述符(遠(yuǎn)程外圍設(shè)備由CBPeripheral
對象表示)藤肢。描述符提供了特征值的更多信息太闺。例如,它們可以描述人類可讀形式的值嘁圈,和描述怎樣為表示目格式化值省骂。 -
CBManager
核心藍(lán)牙管理對象的抽象基類(中央的和外圍的)。 -
CBMutableCharacteristic
CBMutableCharacteristic對象表示本地外圍設(shè)備的服務(wù)特征(本地外圍設(shè)備由CBPeripheralManager
對象表示)最住。這個類在它繼承的CBCharacteristic
類上增加了很多屬性的寫訪問钞澳。 -
CBMutableDescriptor
CBMutableDescriptor對象表示一個本地外圍設(shè)備的特征描述符(本地外圍設(shè)備由CBPeripheralManager
對象表示)。 -
CBMutableService
CBMutableService
類給它繼承的CBService
類的所有屬性添加了寫訪問屬性涨缚。你使用這個類創(chuàng)建一個服務(wù)或者一個本地外圍設(shè)備所包含的服務(wù)(由CBPeripheralManager
對象表示)轧粟。在你創(chuàng)建一個服務(wù)后,你可以使用CBPeripheralManager
類的add(_:)
方法把它添加到外圍設(shè)備的本地基礎(chǔ)數(shù)據(jù)中。在你給外圍設(shè)備的本地基礎(chǔ)數(shù)據(jù)中添加了一個服務(wù)后兰吟,這個服務(wù)會被緩存通惫,你就不能再改變它了。 -
CBPeer
CBPeer是一個抽象的基類混蔼,用來定義表示遠(yuǎn)程設(shè)備對象常見的行為履腋。你通常不用創(chuàng)建CBPeer或者它的具體子類的實(shí)例。 -
CBPeripheral
CBPeripheral類表示你的應(yīng)用程序通過中心管理器(CBCentralManager
的實(shí)例)發(fā)現(xiàn)廣播的或者當(dāng)前連接上的遠(yuǎn)程外圍設(shè)備惭嚣。外圍設(shè)備由NSUUID
對象全局統(tǒng)一標(biāo)識符(UUIDs)標(biāo)識遵湖。外圍設(shè)備可能包含一個或者多個服務(wù),或者提供它們鏈接的信號強(qiáng)度的相關(guān)有用信息料按。 -
CBPeripheralManager
CBPeripheralManager對象用于管理帶有本地外圍設(shè)備的通用屬性配置文件(GATT)數(shù)據(jù)庫的發(fā)布服務(wù)奄侠,和把這些服務(wù)廣播給中心設(shè)備(由CBCentral
對象表示)。雖然服務(wù)在數(shù)據(jù)庫中载矿,但它是可見的,而且可以通過任何連接的中心進(jìn)行訪問烹卒。也就是說闷盔,如果你的應(yīng)用程序沒有指定藍(lán)牙外圍設(shè)備后臺模式,當(dāng)應(yīng)用程序處于后臺模式或者暫停狀態(tài)時旅急,藍(lán)牙服務(wù)的內(nèi)容是不可用的逢勾;任何嘗試訪問服務(wù)的特征值或者特征描述符的遠(yuǎn)程中心都會接收到錯誤信息。 -
CBService
CBService和它的子類CBMutableService
表示一個外圍設(shè)備實(shí)現(xiàn)一個函數(shù)或者一個設(shè)備功能(該設(shè)備的部分功能)的數(shù)據(jù)集合和相關(guān)行為的服務(wù)藐吮。CBService對象特別表示遠(yuǎn)程外圍設(shè)備的服務(wù)(由CBPeripheral
對象)溺拱。服務(wù)是主要的或是次要的,并且可能包含很多特征或者包含服務(wù)(引用別的服務(wù))谣辞。 -
CBUUID
CBUUID類的實(shí)例表示用在藍(lán)牙低功耗通信中的128位全局統(tǒng)一標(biāo)識符(UUIDs)屬性迫摔,例如外圍設(shè)備服務(wù),特征和特征描述符泥从。當(dāng)你開發(fā)你的應(yīng)用程序時句占,這個類提供了很多工廠方法來處理長UUIDs。例如躯嫉,你可以創(chuàng)建一個CBUUID對象來表示它而不是傳遞它纱烘,而不是在你的代碼中通過128位藍(lán)牙低功耗屬性的字符串傳遞。 CBL2CAPChannel
協(xié)議
-
CBCentralManagerDelegate
CBCentralManagerDelegate
協(xié)議定義了CBCentralManager
對象的代理必須采用的方法祈餐。協(xié)議的可選方法允許代理監(jiān)控外圍設(shè)備的發(fā)現(xiàn)擂啥、連接、搜索帆阳。協(xié)議中唯一必須的方法顯示了中心管理器的可用性哺壶,并且在中心管理器的狀態(tài)更新時會被調(diào)用。 -
CBPeripheralDelegate
CBPeripheral
對象的代理必須采用CBPeripheralDelegate協(xié)議。這個代理使用這個協(xié)議的方法監(jiān)控遠(yuǎn)程外圍設(shè)備的服務(wù)和屬性的發(fā)現(xiàn)变骡、探索和交互离赫。子啊這個協(xié)議中沒有必須的方法。 -
CBPeripheralManagerDelegate
CBPeripheralManager
對象的代理必須采用CBPeripheralManagerDelegate
協(xié)議塌碌,這個協(xié)議由很多可選方法和一個必須方法組成渊胸。這個協(xié)議的可選方法被代理用來驗(yàn)證發(fā)布和廣播,監(jiān)控讀取和寫入台妆,訂閱遠(yuǎn)程中心設(shè)備的請求翎猛。這個協(xié)議的必須方法,它顯示外圍設(shè)備管理器是否可用接剩,當(dāng)外圍設(shè)備管理器的雙腿更新時會被調(diào)用切厘。
參考
-
Core Bluetooth Constants
這篇文檔表述了在核心藍(lán)牙框架中發(fā)現(xiàn)的常量 Core Bluetooth Enumerations
Core Bluetooth Data Types
結(jié)構(gòu)
-
CBATTError
結(jié)構(gòu)體 -
CBAttributePermissions
結(jié)構(gòu)體
表示一個特征值的讀取、寫入好加密權(quán)限的值 -
CBCharacteristicProperties
結(jié)構(gòu)體
表示一個特征可能屬性的值懊缺。由于特征屬性可以組合疫稿,一個特征可能會有許多的屬性值集合。 -
CBError
結(jié)構(gòu)體
原文鏈接地址:https://developer.apple.com/documentation/corebluetooth
具體的類和協(xié)議會在后續(xù)的版本中進(jìn)行更新
初次翻譯鹃两,多有不足遗座,歡迎大家指正
持續(xù)更新中...