一个非常容易使用的蓝牙库:ZFBluetooth

jopen 9年前

The easiest way to use Bluetooth (BLE )in ios,even bady can use . 一个非常容易使用的蓝牙库,当前版本v0.1 。

  • 基于原生CoreBluetooth框架封装的轻量级的开源库,可以帮你更简单地使用CoreBluetooth API。
  • CoreBluetooth所有方法都是通过委托完成,代码冗余且顺序凌乱。BabyBluetooth使用block方法,可以重新按照功能和顺序组织代码,并提供许多方法减少蓝牙开发过程中的代码量。
  • 链式方法体,代码更简洁、优雅。

Contents

用法示例

Quick_Example

//导入.h文件和系统蓝牙库的头文件  #import <CoreBluetooth/CoreBluetooth.h>  #import "BabyBluetooth.h"    -(void)viewDidLoad {      [super viewDidLoad];          //初始化BabyBluetooth 蓝牙库      baby = [BabyBluetooth shareBabyBluetooth];      //设置蓝牙委托      [self babyDelegate];      __weak typeof(baby) weakBaby = baby;      //因为蓝牙设备打开需要时间,所以只有监听到蓝牙设备状态打开后才能安全的使用蓝牙      [baby setBlockOnCentralManagerDidUpdateState:^(CBCentralManager *central) {          if (central.state == CBCentralManagerStatePoweredOn) {              //开始扫描设备              weakBaby.scanForPeripherals().begin();          }      }];  }    //蓝牙网关初始化和委托方法设置  -(void)babyDelegate{      //设置扫描到设备的委托      [baby setBlockOnDiscoverToPeripherals:^(CBCentralManager *central, CBPeripheral *peripheral, NSDictionary *advertisementData, NSNumber *RSSI) {          NSLog(@"搜索到了设备:%@",peripheral.name);      }];  }

初始化

    //单例初始化 推荐      BabyBluetooth *baby = [BabyBluetooth shareBabyBluetooth];      //常规初始化      BabyBluetooth *baby = [[BabyBluetooth alloc]init];

搜索设备

    //搜索设备         baby.scanForPeripherals().begin();        //搜索设备10秒后停止         baby.scanForPeripherals().begin().stop(10);        //设置搜索设备的过滤器      [baby setFilterOnDiscoverPeripherals:^BOOL(NSString *peripheralName) {          //设置查找规则是名称大于1 , the search rule is peripheral.name length > 2          if (peripheralName.length >2) {              return YES;          }          return NO;      }];

搜索并连接设备

    /*      *搜索设备后连接设备:1:先设置连接的设备的filter 2进行连接      */      //1:设置连接的设备的过滤器       __block BOOL isFirst = YES;      [baby setFilterOnConnetToPeripherals:^BOOL(NSString *peripheralName) {          //这里的规则是:连接第一个AAA打头的设备          if(isFirst && [peripheralName hasPrefix:@"AAA"]){              isFirst = NO;              return YES;          }          return NO;      }];        //2 扫描、连接      baby.scanForPeripherals().connectToPeripherals().begin()

项目主页:http://www.open-open.com/lib/view/home/1441704272742