#import "BabyBluetooth.h"
-(void)viewDidLoad?{
[superviewDidLoad];
//初始化BabyBluetooth?藍(lán)牙庫
baby?=?[BabyBluetooth?shareBabyBluetooth];
//設(shè)置藍(lán)牙委托
[self?babyDelegate];
//設(shè)置委托后直接可以使用,無需等待CBCentralManagerStatePoweredOn狀態(tài)
baby.scanForPeripherals().begin()
}
//藍(lán)牙網(wǎng)關(guān)初始化和委托方法設(shè)置
-(void)babyDelegate{
//設(shè)置掃描到設(shè)備的委托
[baby?setBlockOnDiscoverToPeripherals:^(CBCentralManager?*central,?CBPeripheral?*peripheral,?NSDictionary?*advertisementData,?NSNumber?*RSSI)?{
NSLog(@"搜索到了設(shè)備:%@",peripheral.name);
}];
//設(shè)置設(shè)備連接成功的委托
[baby?setBlockOnConnected:^(CBCentralManager?*central,?CBPeripheral?*peripheral)?{
NSLog(@"設(shè)備:%@--連接成功",peripheral.name);
}];
//設(shè)置發(fā)現(xiàn)設(shè)備的Services的委托
[baby?setBlockOnDiscoverServices:^(CBPeripheral?*peripheral,?NSError?*error)?{
for(CBService?*serviceinperipheral.services)?{
NSLog(@"搜索到服務(wù):%@",service.UUID.UUIDString);
}
}];
//設(shè)置發(fā)現(xiàn)設(shè)service的Characteristics的委托
[baby?setBlockOnDiscoverCharacteristics:^(CBPeripheral?*peripheral,?CBService?*service,?NSError?*error)?{
NSLog(@"===service?name:%@",service.UUID);
for(CBCharacteristic?*cinservice.characteristics)?{
NSLog(@"charateristic?name?is?:%@",c.UUID);
}
}];
//設(shè)置讀取characteristics的委托
[baby?setBlockOnReadValueForCharacteristic:^(CBPeripheral?*peripheral,?CBCharacteristic?*characteristics,?NSError?*error)?{
NSLog(@"characteristic?name:%@?value?is:%@",characteristics.UUID,characteristics.value);
}];
//設(shè)置發(fā)現(xiàn)characteristics的descriptors的委托
[baby?setBlockOnDiscoverDescriptorsForCharacteristic:^(CBPeripheral?*peripheral,?CBCharacteristic?*characteristic,?NSError?*error)?{
NSLog(@"===characteristic?name:%@",characteristic.service.UUID);
for(CBDescriptor?*dincharacteristic.descriptors)?{
NSLog(@"CBDescriptor?name?is?:%@",d.UUID);
}
}];
//設(shè)置讀取Descriptor的委托
[baby?setBlockOnReadValueForDescriptors:^(CBPeripheral?*peripheral,?CBDescriptor?*descriptor,?NSError?*error)?{
NSLog(@"Descriptor?name:%@?value?is:%@",descriptor.characteristic.UUID,?descriptor.value);
}];
//過濾器
//設(shè)置查找設(shè)備的過濾器
[baby?setDiscoverPeripheralsFilter:^BOOL(NSString?*peripheralsFilter)?{
//設(shè)置查找規(guī)則是名稱大于1?,?the?search?rule?is?peripheral.name?length?>?1
if(peripheralsFilter.length?>1)?{
returnYES;
}
returnNO;
}];
//設(shè)置連接的設(shè)備的過濾器
__block?BOOL?isFirst?=?YES;
[baby?setFilterOnConnetToPeripherals:^BOOL(NSString?*peripheralName)?{
//這里的規(guī)則是:連接第一個(gè)AAA打頭的設(shè)備
if(isFirst?&&?[peripheralName?hasPrefix:@"AAA"]){
isFirst?=?NO;
returnYES;
}
returnNO;
}];
}