CoreBluetooth使用 (客户端外部设备)

来源:互联网 发布:wkwebview 加载本地js 编辑:程序博客网 时间:2024/05/19 21:40

自己写了一个Demo    下载地址:http://download.csdn.net/detail/i_k_o_x_s/9031359

CBPeripheralManager类

//初始化的时候 调用代理方法   返回当前设备的蓝牙状态

-(void)peripheralManagerDidUpdateState:(CBPeripheralManager *)peripheral  

peripheral.state 为 CBPeripheralManagerStatePoweredOn 时候蓝牙设备是打开的


//给当前设备添加服务

- (void)addService:(CBMutableService *)service;

//添加服务后执行代理方法

-(void)peripheralManager:(CBPeripheralManager *)peripheral didAddService:(CBService *)service error:(NSError *)error


//开启广播  让外部蓝牙设备能够搜索到本机设备   

  关闭广播

advertisementData:添加广告发出去的信息

- (void)startAdvertising:(NSDictionary *)advertisementData;

- (void)stopAdvertising;


//开广播后执行代理方法

-(void)peripheralManagerDidStartAdvertising:(CBPeripheralManager *)peripheral error:(NSError *)error


//外部设备连接到当前设备 回调代理方法

central与当前设备连接的外部设备    characteristic外部设备所订阅的特征

-(void)peripheralManager:(CBPeripheralManager *)peripheral central:(CBCentral *)central didSubscribeToCharacteristic:(CBCharacteristic *)characteristic{


//外部设备与当前设备断开连接  回调代理方法

central与当前设备连接的外部设备   characteristic外部设备所订阅的特征

-(void)peripheralManager:(CBPeripheralManager *)peripheral central:(CBCentral *)central didUnsubscribeFromCharacteristic:(CBCharacteristic *)characteristic{


//更新某一个特征,其他外部设备订阅了这个特征 会收到对应value数据 

- (BOOL)updateValue:(NSData *)value forCharacteristic:(CBMutableCharacteristic *)characteristic onSubscribedCentrals:(NSArray *)centrals;


// 外部设备的CBPeripheral的代理方法 回调

               -(void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error



//接受到外部设备发送来的消息 回调代理方法

request 返回多个CBATTRequest 这个类

-(void)peripheralManager:(CBPeripheralManager *)peripheral didReceiveWriteRequests:(NSArray *)requests{


CBATTRequest类

@property(readonlyretainnonatomicCBCentral *central;  //发送过来的中心设备

@property(readonlyretainnonatomicCBCharacteristic *characteristic;//特征

@property(readonlynonatomicNSUInteger offset;

@property(readwritecopyNSData *value;//数据

CBMutableService类

//设定特定的CBUUID

- (instancetype)initWithType:(CBUUID *)UUID primary:(BOOL)isPrimary

//一个服务可以添加多个特征

@property(retain,readwrite)NSArray *characteristics;


CBMutableCharacteristic类

//初始化特征的时候 特定特征的UUID  对应的性能:

(根据具体需求)CBCharacteristicPropertyNotify和CBCharacteristicPropertyWrite   //通知:可写

- (instancetype)initWithType:(CBUUID *)UUID properties:(CBCharacteristicProperties)properties value:(NSData *)value permissions:(CBAttributePermissions)permissions







0 0