iOS蓝牙开发
Demo的运行gif图如下,中心设备可以从外设读取数据,也可以向外设写入数据。外设也可以向中心设备发送数据。 PS:需要使用真机测试。

iOS的蓝牙开发是围绕着CoreBluetooth框架来实现的。 下面先从iOS蓝牙开发的基本概念说起。
一、iOS蓝牙开发的关键词
中心设备:就是用来扫描周围蓝牙硬件的设备,比如通过你手机的蓝牙来扫描并连接智能手环,这时候你的手机就是中心设备。
外设:被扫描的设备。比如当你用手机的蓝牙扫描连接智能手环的时候,智能手环就是外设。
服务(service):外设对外提供的服务,比如智能手环可以提供一个心率监测的服务,一个计步的服务。一个外设可以有一个或多个服务。
特征(characteristic):每个服务包含的特征,比如心率服务下有一个心率测量的特征,记录手环测量的心率数据。一个服务可以有一个或多个特征。
UUID:区分不同的服务和特征。每一个服务、特征都有一个唯一的UUID来标识。
二、蓝牙的简单介绍
蓝牙技术是一种短距离、低成本的无线技术,它是一种无线数据和语音通讯开放的全球规范。
蓝牙技术的应用范围:
- 数据和声音的无线传输
- 个人设备的互联互通
- 物联网设备
蓝牙的版本:
- 经典蓝牙:功耗较高,传输速率较快,主要用于声音的传输
- 低功耗蓝牙BLE(Bluetooth Low Energy):功耗低,传输速率较慢,主要用于实时性要求不高的数据传输
iOS开发中,主要使用的是BLE。
三、CoreBluetooth框架
CoreBluetooth框架是iOS中用于操作蓝牙的核心框架。
主要的类:
- CBCentralManager:中心管理者,用于管理中心设备
- CBPeripheral:外设
- CBService:服务
- CBCharacteristic:特征
- CBPeripheralManager:外设管理者,用于管理外设
主要的协议:
- CBCentralManagerDelegate:中心管理者的代理
- CBPeripheralDelegate:外设的代理
- CBPeripheralManagerDelegate:外设管理者的代理
四、实现iOS蓝牙外设
实现步骤:
- 创建外设管理者CBPeripheralManager
- 设置外设管理者的代理
- 创建服务和特征
- 添加服务到外设管理者
- 开始广播
详细代码请查看:Demo
五、实现iOS蓝牙中心设备
实现步骤:
- 创建中心管理者CBCentralManager
- 设置中心管理者的代理
- 扫描外设
- 连接外设
- 发现服务
- 发现特征
- 读取特征的值
- 订阅特征的值
详细代码请查看:Demo