/* BabyBluetooth 简单易用的蓝牙ble库,基于CoreBluetooth 作者:刘彦玮 https://github.com/coolnameismy/BabyBluetooth @brief 蓝牙外设模式实现类 */ // Created by 刘彦玮 on 15/12/12. // Copyright © 2015年 刘彦玮. All rights reserved. // #import #import #import "BabyToy.h" #import "BabySpeaker.h" @interface BabyPeripheralManager : NSObject { @public //回叫方法 BabySpeaker *babySpeaker; } /** 添加服务 */ - (BabyPeripheralManager *(^)(NSArray *array))addServices; /** 启动广播 */ - (BabyPeripheralManager *(^)())startAdvertising; //外设管理器 @property (nonatomic, strong) CBPeripheralManager *peripheralManager; @property (nonatomic, copy) NSString *localName; @property (nonatomic, strong) NSMutableArray *services; @end /** * 构造Characteristic,并加入service * service:CBService * param`ter for properties :option 'r' | 'w' | 'n' or combination * r CBCharacteristicPropertyRead * w CBCharacteristicPropertyWrite * n CBCharacteristicPropertyNotify * default value is rw Read-Write * paramter for descriptor:be uesd descriptor for characteristic */ void makeCharacteristicToService(CBMutableService *service,NSString *UUID,NSString *properties,NSString *descriptor); /** * 构造一个包含初始值的Characteristic,并加入service,包含了初值的characteristic必须设置permissions和properties都为只读 * make characteristic then add to service, a static characteristic mean it has a initial value .according apple rule, it must set properties and permissions to CBCharacteristicPropertyRead and CBAttributePermissionsReadable */ void makeStaticCharacteristicToService(CBMutableService *service,NSString *UUID,NSString *descriptor,NSData *data); /** 生成CBService */ CBMutableService* makeCBService(NSString *UUID); /** 生成UUID */ NSString* genUUID();