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