coreBluetooth官方文档翻译

框架

核心蓝牙

与蓝牙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
具体的类和协议会在后续的版本中进行更新
初次翻译,多有不足,欢迎大家指正

                                     持续更新中...
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,029评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,395评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,570评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,535评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,650评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,850评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,006评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,747评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,207评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,536评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,683评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,342评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,964评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,772评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,004评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,401评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,566评论 2 349

推荐阅读更多精彩内容