一個非常容易使用的藍牙庫:ZFBluetooth

jopen 9年前發布 | 29K 次閱讀 iOS開發 移動開發 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()

項目主頁:http://www.baiduhome.net/lib/view/home/1441704272742

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