自己写了一个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{
@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