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
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
相关文章推荐
- uitextfiled 输入 过滤
- java--continue与break的使用
- [SoapUI] Loop a test with different sets of data
- Netsuite本地化解决方案
- iOS时间处理之时间对比 by Nicky.Tsui
- Hue3.9 安装教程:华丽的Spark,Hadoop UI
- 遍历subviews
- poj 2478 Farey Sequence
- qt中如何把插件中的窗口布局到UI设计师的窗口上
- Primary key和Unique Key的区别
- UIViewController中的edgesForExtendedLayout和extendedLayoutIncludesOpaqueBars属性
- OutMan——Foundation框架中的常用结构体、NSNumber类和NSValue类
- uva 11572 Unique Snowflakes
- Jersey 入门与Javabean @QueryParam @PathParam @FormParam
- UIButton设置 textAlignment 属性的方法
- KVC的妙用之UIAlertController的UIAlertAction外观改变
- UIImage的发掘
- 【IOS】UITableView样式的自定义
- UItableView中编辑,删除,移动学习笔记
- Windows Message Queue--hdu1509