iOS Core Bluetooth官方文档翻译
官方文档:https://developer.apple.com/reference/corebluetooth
翻译:廖马儿
Framwwork
Core Bluetooth
与低功耗Bluetooth 4.0设备通讯
概述
Core Bluetooth 框架提供了app与配备了低功耗蓝牙设备通讯的功能丰富的类。
不要继承任何Core Bluetooth 框架提供的类。重载这些类是不推荐的,而且后果是不堪设想。
重点
iOS app 如果涉及到Core Bluetooth Framework 在iOS10z.0之后,必须在Info.plist 中配置权限:NSBluetoothPeripheralUsageDescription.
符号
类
CBATTRequest
CBATTRequest
类 描述了 Attribute Protocol (ATT)
从远程中枢的设备( CBCentral
对象) 的读写请求。远程中枢用这些ATT请求读写特有的值在这些本地外围设备( CBPeripheralManager
对象 )上。在另一方面,本地外围设备用CBATTRequest
对象的属性,用 CBPeripheralManager
类的respondToRequest:withResult:
方法响应那些读写请求。
CBAttribute
CBAttribute 是一个抽象的基础类,它代表由外设提供的服务的方面的对象集合所共有的行为。
CBCentral
CBCentral
类表示已经连接到在本地设备上实现外围角色的应用的远程中央设备。也就是说,当您使用CBPeripheralManager
类实现外围角色时,连接到本地外设的中心表示为CBCentral
对象。远程中心由通用唯一标识符(UUID
)标识,由NSUUID
对象表示。
CBCentralManager
CBCentralManager
对象用于管理发现的或连接的远程外围设备(由CBPeripheral
对象表示),包括扫描,发现和连接广告外设。
CBCharacteristic
CBCharacteristic
及其子类CBMutableCharacteristic
表示有关外设服务的进一步信息。 CBCharacteristic特征对象特别地表示远程外围设备的服务的特性(远程外围设备由CBPeripheral
表示)。特征包含单个值和描述该值的任何数量的描述符。特性的属性确定如何使用特性的值以及如何访问描述符。
CBMutableDescriptor
CBMutableDescriptor
表示外设的特性的描述符。 CBDescriptor
对象特别地表示远程外围设备的特性的描述符(远程外围设备由CBPrepheral
对象表示)。描述符提供关于特性值的进一步信息。例如,它们可以以可读的形式描述值,并描述如何为了呈现的目的而格式化该值。特性描述符还指示特性的值是否在服务器(外设)上配置以在特性的值改变时指示或通知客户端(中央)。
CBManager
CBManager对象的(中央和外设)抽象基类
CBMutableCharacteristic
CBMutableCharacteristic
表示本地外围设备服务的特性(本地外围设备由CBPeripheralManager
对象表示)。这个类增加了对CBCharacteristic
类中的许多属性的写访问
CBMutableDescriptor
CBMutableDescriptor
对象表示本地外设的特性的描述符(本地外围设备由CBPeripheralManager
对象表示)
CBMutableService
CBMutableService
类添加对它继承的CBService
类中的所有属性的写访问权。你使用此类在本地外围设备(由CBPeripheralManager
对象表示)上创建服务或包含的服务。创建服务后,可以使用CBPeripheralManager
类的add(_ :)
方法将其添加到外设的本地数据库。将服务添加到外设的本地数据库后,该服务将被缓存,你无法再对其进行更改。
CBPeer
CBPeer
类是一个抽象基类,定义表示远程设备的对象的常见行为。您通常不创建CBPeer
或其具体子类的实例。相反,系统会在发现过程中需要的时候为你创建它们。
CBPeripheral
CBPeripheral
类表示远程外围设备,您的应用程序通过中央管理器(CBCentralManager
的实例) - 已发现广告或当前连接到。外设由通用唯一标识符(UUID
)标识,由NSUUID
对象表示。外设可以包含一个或多个服务或提供关于其连接的信号强度的有用信息。
CBPeripheralManager
CBPeripheralManager
对象用于管理本地外围设备的通用属性简档(GATT
)数据库中的已发布服务,并将这些服务通告给中央设备(由CBCentral
对象表示)。当服务在数据库中时,它是可见的,并且可以由任何连接的中心访问。也就是说,如果你的应用程序没有指定蓝牙 - 外围设备背景模式,其服务的内容会在处于后台或处于暂停状态时被禁用;任何试图访问服务的特征值或特征描述符的远程中心都会收到错误。
CBMutableService
CBMutableService
表示外围设备的服务 - 用于实现设备(或设备的部分)的功能或特征的数据和相关行为的集合。
CBService
CBService
对象特别地表示远程外围设备(由CBPeripheral
对象表示)的服务。服务是主要的或次要的,可能包含许多特性或包含的服务(对其他服务的引用)。
CBUUID
CBUUID
类的实例表示在蓝牙低能量通信中使用的属性的128位通用唯一标识符(UUID
),诸如外围设备的服务,特性和特性描述符。这个类提供了许多工厂方法来处理长UUID
时,开发你的应用程序。例如,您不必在代码中传递128位蓝牙低功耗属性的字符串表示形式,而是可以创建一个代表它的CBUUID
对象,并将其传递 。
CBCentralManagerDelegate
CBCentralManagerDelegate
协议定义了CBCentralManager
对象的委托必须采用的方法。协议的可选方法允许代理监视外围设备的发现,连接和检索。协议唯一需要的方法指示中央管理器的可用性,并且在中央管理器的状态被更新时被调用。
CBPeripheral
CBPeripheral
对象的代理必须采用CBPeripheralDelegate
协议。代理使用此协议的方法来监视远程外围设备的服务和属性的发现,探索和交互。此协议中没有必需的方法。
CBPeripheralManager
CBPeripheralManager
对象的代理必须采用CBPeripheralManagerDelegate
协议,该协议由许多可选方法和一个必需方法组成。代理使用协议的可选方法来验证发布和广告,并监视来自远程中央设备的读取,写入和订阅请求。在更新外围设备管理器的状态时,调用协议的必需方法来指示外设管理器是否可用。
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
表示特征值的读取,写入和加密权限的值。
CBCharacteristicProperties
表示特性的可能属性的值。由于可以组合特性属性,所以特性可以具有设置的多个属性值。