iOS支持了蓝牙4.0后,很多智能硬件开始通过蓝牙与手机进行通讯互交,比如蓝牙秤,各种蓝牙医疗设备等。每个设备有不同的型号,且不断迭代更新,软件如何支持多种设备,如何区分多个设备,并分别对不同的设备进行控制,我给大家分享一个我总结的蓝牙开发框架。

核心蓝牙控制采用iOS自带的CoreBluetooth,本身该库已经可以很好的操控蓝牙设备,我的框架也仅仅是对该库的进一步封装,目的是解决如下几个问题
1 区分多个设备的连接状态
2 多个设备各自的蓝牙通信处理

我的蓝牙框架将设备连接,设备使能通道开启,设备数据传输,设备连接失败等蓝牙引擎事件封装,向外暴露了设备状态变化,设备数据更新接口,从而使用者只关心设备状态和设备数据,无需关心蓝牙引擎的其他事件,进一步封装了蓝牙引擎,简化了逻辑处理。

iOS蓝牙引擎流程
iOS蓝牙开发框架

该流程说明了iOS内置的蓝牙库CoreBluetooth的调用流程,以及在各流程中如何反馈每个设备的数据和状态。封装后,将专注于每个设备的连接状态和数据更新,使蓝牙设备开发逻辑变得清晰简洁。

管理类示例代码:http://download.csdn.net/download/yige2002/10230960

ps:发现一个app,叫light blue,调试蓝牙设备的利器。