一种优雅的使用CoreBluetooth框架的方式

在iOS的蓝牙开发中,CoreBluetooth框架是必不可少的.它以代理的方式告诉我们蓝牙连接状态,数据收发.虽然很实用,但是却加重了我们的负担.往往是调用一个方法之后,还要在代理方法中处理回调,特别是蓝牙相关的代理实在有点多.

解决方案: CYBleManager

它是一个基于CoreBluetooth框架封装的,实用block方式处理回调的蓝牙相关操作组件,包括蓝牙连接,蓝牙数据收发,蓝牙OTA.

实用性:

  1. 基本功能

    搜索蓝牙设备,连接蓝牙,断开连接,发送指令到蓝牙设备,接收蓝牙设备广播的数据.

  2. 设置搜索蓝牙设备时间

    CYBleManager 支持设置蓝牙搜索的时间,在很多开发场景中,我们不希望蓝牙搜索功能一直挂在后台,更不想把停止搜索的功能暴露给用户,那么这个设置搜索时长的功能将会非常有用.

  3. 设置蓝牙连接超时时间

    通常有一些设备并非我们调用连接方法之后就能很稳定的连接上它,有时需要很长时间,有时则是一直无法连接上,但是CoreBluetooth框架并没有帮我们处理这些状态.那么我们自己设置一个超时时间将会很有帮助.

  4. 根据指定的设备名称或设备的UUID来准确搜索蓝牙设备

    CoreBluetooth提供了根据service来搜索设备,但是可能这一种条件还不足以让我们能精确的找到我们所需要的设备.

  5. 自动连接蓝牙设备

    我相信所有人都不希望每次进入APP之后都要去连接蓝牙设备.

  6. 蓝牙空中升级(OTA)

    iOSDFULibrary框架,写的非常好的一个OTA升级的框架.也集成到CYBleManager中了.

由于个人不善表达,所以文中并未列出具体的实现细节和我所遇到的bug,如果有幸能让你看到这篇文章并且你也有一些关于蓝牙方面的问题,欢迎和我讨论.QQ邮箱:[email protected]

你可能感兴趣的:(一种优雅的使用CoreBluetooth框架的方式)