一個非常容易使用的藍牙庫:ZFBluetooth
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()
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!