您的位置:首页 > 产品设计 > UI/UE

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

2015-08-20 17:56 351 查看
自己写了一个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(readonly, retain, nonatomic) CBCentral *central; 
//发送过来的中心设备
@property(readonly, retain, nonatomic) CBCharacteristic *characteristic;//特征
@property(readonly, nonatomic) NSUInteger offset;
@property(readwrite, copy) NSData *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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: