Core Bluetooth框架详细解析(一) —— 基本概览

版本记录

版本号 时间
V1.0 2018.02.08

前言

Core Bluetooth框架与蓝牙4.0低功耗设备进行通信。接下来几篇我们就一起看一下这个框架。

Overview

下面先看一下该框架的基本信息。

Core Bluetooth框架详细解析(一) —— 基本概览_第1张图片

下面看一下该框架的基本结构。

Core Bluetooth框架详细解析(一) —— 基本概览_第2张图片

Core Bluetooth框架提供了您的应用程序与配备了蓝牙低功耗无线技术的设备进行通信所需的类。

不要继承任何Core Bluetooth框架的类。 覆盖这些类不受支持,并导致未定义的行为。

重要:在iOS 10.0或之后链接的iOS应用必须在其Info.plist文件中包含它需要访问的数据类型的使用说明密钥,否则将会崩溃。 要具体访问蓝牙外设数据,必须包含NSBluetoothPeripheralUsageDescription。


Topics

1. Classes

  • CBATTRequest

    • CBATTRequest类表示来自远程中央设备(由CBCentral对象表示)的属性协议(ATT)读取和写入请求。 远程中央处理器使用这些ATT请求读取和写入本地外围设备上的特征值(由 CBPeripheralManager对象表示)。 另一方面,本地外围设备使用 CBATTRequest对象的属性来使用CBPeripheralManager类的respondToRequest:withResult:方法来适当地响应读取和写入请求。
  • CBAttribute

    • CBAttribute是一个抽象基类,定义了表示由外设提供的服务方面的对象集合共同的行为。
  • CBCentral

    • CBCentral类表示已连接到在本地设备上实现外设角色的应用程序的远程中央设备。 也就是说,在使用CBPeripheralManager类实现外设角色时,连接到本地外设的中心被表示为CBCentral对象。 远程中心由通用唯一标识符(UUID)标识,由NSUUID对象表示。
  • CBCentralManager

    • CBCentralManager对象用于管理发现或连接的远程外围设备(由CBPeripheral对象表示),包括扫描,发现和连接到广告外设。
  • CBCharacteristic

    • CBCharacteristic及其子类CBMutableCharacteristic表示有关外设服务的更多信息。 CBCharacteristic对象特别表示远程外设服务的特性(远程外设由CBPeripheral对象表示)。 一个特性包含一个单一的值和描述该值的任意数量的描述符。 特征的属性决定特征的值如何被使用以及描述符如何被访问。
  • CBDescriptor

    • CBDescriptor及其子类CBMutableDescriptor表示外设特性的描述符。 CBDescriptor对象特别代表远程外设特性的描述符(远程外设由CBPeripheral对象表示)。 描述符提供有关特性值的更多信息。 例如,他们可以用人类可读的形式描述价值,并描述如何将这些价值格式化以用于展示目的。 特征描述符还指示特征值是否在服务器(外围设备)上配置以指示或通知客户端(中央)何时特征值改变。
  • CBManager

    • Core Bluetooth管理器对象(中央和外围)的抽象基类。
  • CBMutableCharacteristic

    • CBMutableCharacteristic对象表示本地外设服务的特征(本地外围设备由CBPeripheralManager对象表示)。 这个类增加了对它继承的CBCharacteristic类的许多属性的写入权限。
  • CBMutableDescriptor

    • CBMutableDescriptor对象表示本地外围设备特征的描述符(本地外围设备由CBPeripheralManager对象表示)。
  • CBMutableService

    • CBMutableService类将写入权限添加到继承的CBService类中的所有属性。 您可以使用此类在本地外围设备(由CBPeripheralManager对象表示)上创建服务或包含的服务。 创建服务后,可以使用CBPeripheralManager类的addService:方法将其添加到外围设备的本地数据库中。 将服务添加到外围设备的本地数据库之后,该服务将被缓存,并且不能再对其进行更改。
  • CBPeer

    • CBPeer类是一个抽象基类,用于定义表示远程设备的对象的常见行为。 您通常不会创建CBPeer或其具体子类的实例。 相反,系统会在对等发现过程中为您创建它们。
  • CBPeripheral

    • CBPeripheral类代表远程外围设备,通过中央管理器(CBCentralManager的一个实例),您的应用程序已经发现了广告或正在连接到该应用程序。 外设由通用唯一标识符(UUID)标识,由NSUUID对象表示。 外围设备可能包含一项或多项服务或提供有关其连接信号强度的有用信息。
  • CBPeripheralManager

    • CBPeripheralManager对象用于管理本地外围设备的通用属性配置文件(GATT)数据库中的已发布服务,并将这些服务通告给中央设备(由CBCentral对象表示)。 服务在数据库中时,任何连接的中央服务器都可以看见,并且可以访问服务。 也就是说,如果您的应用程序没有指定bluetooth-peripheral后台模式,则在后台或处于挂起状态时,其服务内容将被禁用;试图访问服务的特征值或特征描述符的任何远程中央设备都会收到错误。
  • CBService

    • CBService及其子类CBMutableService表示外围设备的服务 - 用于完成设备(或设备的某些部分)的功能或特性的数据和关联行为的集合。 CBService对象特别表示远程外围设备的服务(由CBPeripheral对象表示)。 服务可以是主要的或次要的,并且可以包含许多特征或包含的服务(对其他服务的引用)。
  • CBUUID

    • CBUUID类的实例表示蓝牙低能量通信中使用的属性的128位通用唯一标识符(UUID),例如外设的服务,特征和特征描述符。 这个类提供了许多工厂方法来处理开发你的应用程序的长UUID。 例如,不是在代码中传递128位Bluetooth低能量属性的字符串表示形式,而是可以创建代表它的CBUUID对象,并将其传递。
  • CBL2CAPChannel

2. Protocols

  • CBCentralManagerDelegate

    • CBCentralManagerDelegate协议定义了CBCentralManager对象的委托必须采用的方法。 协议的可选方法允许委托监视外围设备的发现,连接和检索。 协议中唯一的required方法表示中央管理器的可用性,当中央管理器的状态更新时调用。
  • CBPeripheralDelegate

    • CBPeripheral对象的代理必须采用CBPeripheralDelegate协议。 委托使用此协议的方法来监视远程外围设备的服务和属性的发现,探索和交互。 这个协议没有required的方法。
  • CBPeripheralManagerDelegate

    • 一个CBPeripheralManager对象的代理必须采用CBPeripheralManagerDelegate协议,一个包含众多可选方法和一个必需方法的协议。 代理使用协议的可选方法来验证发布和广告,并监视来自远程中央设备的读取,写入和订阅请求。 当外设管理器的状态更新时,调用协议的required方法,指示外设管理器是否可用。

3. Reference

  • Core Bluetooth Constants

    • 本文档介绍了Core Bluetooth框架中的常量。
  • Core Bluetooth Enumerations

  • Core Bluetooth Data Types

4. Related Documentation

  • Core Bluetooth Programming Guide

后记

本篇已结束,后面更精彩~~~

Core Bluetooth框架详细解析(一) —— 基本概览_第3张图片

你可能感兴趣的:(Core Bluetooth框架详细解析(一) —— 基本概览)