框架
核心蓝牙
与蓝牙4.0低功耗设备通信
概述
核心蓝牙框架提供了一些你应用程序与装备了蓝牙低功耗无线技术的设备之间进行通信所必需的类
不要给核心蓝牙框架的类添加子类。重写这些框架类是不被框架本身支持的,也会导致不能被框架识别的后果。
重要
iOS 10.0或者之后的iOS应用程序在它的Info.plist文件中必须包含对它需要访问或者将会崩溃的数据类型的用法描述键。为了具体地访问蓝牙外围数据,Info.plist文件中必须包含NSBluetoothPeripheralUsageDescription
键
主题
类
-
CBATTRequest
CBATTRequest类表示从远程中心设备(由CBCentral
对象表示)请求读取和写入的属性协议(ATT)。远程中心使用这些ATT请求读取和写入本地外围设备的特征值(由CBPeripheralManager
对象表示)。另一方面,本地外围设备使用CBATTRequest
对象的属性适当地响应读取和写入请求,使用CBPeripheralManager
类的respond(to:withResult:)
方法 -
CBAttribute
CBAttribute是一个抽象的基类,用来定义常见的集合对象的行为,这些集合对象代表了由外围设备提供的各方面的服务。 -
CBCentral
CBCentral类表示已经连接上一个在本地设备上实现外围设备角色的应用程序的远程中心设备。也就是说,当你使用CBPeripheralManager
类实现外围设备角色的时候,连接到你的本地外围设备的中心会被视为CBCentral对象。远程中心由全局唯一标识符(UUIDs)识别,由NSUUID
对象表示。 -
CBCentralManager
CBCentralManager对象用于管理发现的或者是连接的远程外围设备(由CBPeripheral
对象表示),包括扫描,发现和连接到广告的外围设备。 -
CBCharacteristic
CBCharacteristic和它的子类CBMutableCharacteristic
一个外围设备的更多服务信息。CBCharacteristic对象特别表示远程外围设备的服务特征(远程外围设备由CBPeripheral
对象表示)。一个特征包含单个值和很多描述这个值的描述符。特征的属性决定了特征值如何被使用和描述符是怎样被访问的。 -
CBDescriptor
CBDescriptor和它的子类CBMutableDescriptor
表示一个外围设备的特征描述符。CBDescriptor对象特别表示一个远程外围设备的特征描述符(远程外围设备由CBPeripheral
对象表示)。描述符提供了特征值的更多信息。例如,它们可以描述人类可读形式的值,和描述怎样为表示目格式化值。 -
CBManager
核心蓝牙管理对象的抽象基类(中央的和外围的)。 -
CBMutableCharacteristic
CBMutableCharacteristic对象表示本地外围设备的服务特征(本地外围设备由CBPeripheralManager
对象表示)。这个类在它继承的CBCharacteristic
类上增加了很多属性的写访问。 -
CBMutableDescriptor
CBMutableDescriptor对象表示一个本地外围设备的特征描述符(本地外围设备由CBPeripheralManager
对象表示)。 -
CBMutableService
CBMutableService
类给它继承的CBService
类的所有属性添加了写访问属性。你使用这个类创建一个服务或者一个本地外围设备所包含的服务(由CBPeripheralManager
对象表示)。在你创建一个服务后,你可以使用CBPeripheralManager
类的add(_:)
方法把它添加到外围设备的本地基础数据中。在你给外围设备的本地基础数据中添加了一个服务后,这个服务会被缓存,你就不能再改变它了。 -
CBPeer
CBPeer是一个抽象的基类,用来定义表示远程设备对象常见的行为。你通常不用创建CBPeer或者它的具体子类的实例。 -
CBPeripheral
CBPeripheral类表示你的应用程序通过中心管理器(CBCentralManager
的实例)发现广播的或者当前连接上的远程外围设备。外围设备由NSUUID
对象全局统一标识符(UUIDs)标识。外围设备可能包含一个或者多个服务,或者提供它们链接的信号强度的相关有用信息。 -
CBPeripheralManager
CBPeripheralManager对象用于管理带有本地外围设备的通用属性配置文件(GATT)数据库的发布服务,和把这些服务广播给中心设备(由CBCentral
对象表示)。虽然服务在数据库中,但它是可见的,而且可以通过任何连接的中心进行访问。也就是说,如果你的应用程序没有指定蓝牙外围设备后台模式,当应用程序处于后台模式或者暂停状态时,蓝牙服务的内容是不可用的;任何尝试访问服务的特征值或者特征描述符的远程中心都会接收到错误信息。 -
CBService
CBService和它的子类CBMutableService
表示一个外围设备实现一个函数或者一个设备功能(该设备的部分功能)的数据集合和相关行为的服务。CBService对象特别表示远程外围设备的服务(由CBPeripheral
对象)。服务是主要的或是次要的,并且可能包含很多特征或者包含服务(引用别的服务)。 -
CBUUID
CBUUID类的实例表示用在蓝牙低功耗通信中的128位全局统一标识符(UUIDs)属性,例如外围设备服务,特征和特征描述符。当你开发你的应用程序时,这个类提供了很多工厂方法来处理长UUIDs。例如,你可以创建一个CBUUID对象来表示它而不是传递它,而不是在你的代码中通过128位蓝牙低功耗属性的字符串传递。 CBL2CAPChannel
协议
-
CBCentralManagerDelegate
CBCentralManagerDelegate
协议定义了CBCentralManager
对象的代理必须采用的方法。协议的可选方法允许代理监控外围设备的发现、连接、搜索。协议中唯一必须的方法显示了中心管理器的可用性,并且在中心管理器的状态更新时会被调用。 -
CBPeripheralDelegate
CBPeripheral
对象的代理必须采用CBPeripheralDelegate协议。这个代理使用这个协议的方法监控远程外围设备的服务和属性的发现、探索和交互。子啊这个协议中没有必须的方法。 -
CBPeripheralManagerDelegate
CBPeripheralManager
对象的代理必须采用CBPeripheralManagerDelegate
协议,这个协议由很多可选方法和一个必须方法组成。这个协议的可选方法被代理用来验证发布和广播,监控读取和写入,订阅远程中心设备的请求。这个协议的必须方法,它显示外围设备管理器是否可用,当外围设备管理器的双腿更新时会被调用。
参考
-
Core Bluetooth Constants
这篇文档表述了在核心蓝牙框架中发现的常量 Core Bluetooth Enumerations
Core Bluetooth Data Types
结构
-
CBATTError
结构体 -
CBAttributePermissions
结构体
表示一个特征值的读取、写入好加密权限的值 -
CBCharacteristicProperties
结构体
表示一个特征可能属性的值。由于特征属性可以组合,一个特征可能会有许多的属性值集合。 -
CBError
结构体
原文链接地址:https://developer.apple.com/documentation/corebluetooth
具体的类和协议会在后续的版本中进行更新
初次翻译,多有不足,欢迎大家指正
持续更新中...