目前市场上越来越多的蓝牙设备,耳机,手环等等。与此同时,我们就需要一个移动设备来配合这些蓝牙设备的使用。这章我们来了解一下蓝牙的知识。

iOS蓝牙框架的历史
GameKit
GameKit框架是iOS7之前的一个蓝牙框架,听名字就知道大概的用途。它主要是用来做游戏的一个蓝牙框架,它提供的API可以使用蓝牙或者无线局域网络轻松建立对等网络游戏。但是由于性能的一些原因,之后慢慢被淹没了。MultipeerConnectivity
MultipeerConnectivity多点连接。AirDrop其实用的就是这个。MultipeerConnectivity.framework框架结合了wifi、蓝牙。通常情况下是用蓝牙进行连接,WiFi进行数据的传递。但是这个框架跨平台性不太好。CoreBluetooth
是目前最主流的蓝牙框架,各方面性能提升很多。下面主要说一下这个框架。
CoreBluetooth
首先我们需要了解这个框架的主要结构。一张图说明。

框架主要分两个部分。
- 中心设备CBCenterManger
- 外围设备CBPeripheral
主要工作原理,中心设备设备连接外围设备,订阅外围设备的服务,获取特征。
- 中心的开发
- 建立中心角色
- 扫描外设(discover)
- 连接外设(connect)
- 扫描外设中的服务和特征(discover)
- 获取外设的services
- 获取外设的Characteristics,获取Characteristics的值,获取 Characteristics的Descriptor和Descriptor的值
- 与外设做数据交互(explore and interact)
- 订阅Characteristic的通知
- 断开连接(disconnect)
- 外围的开发
- 打开peripheralManager,设置peripheralManager的委托
- 创建characteristics,characteristics的description 创建service,把characteristics添加到service中,再把service添加到peripheralManager中
- 开启广播advertising
- 对central的操作进行响应
- 读characteristics请求
- 写characteristics请求
- 订阅和取消订阅characteristics
以上就是大概的过程,具体的还是需要自己代码敲敲。