一个非常容易使用的蓝牙库: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()