欢迎来到天天文库
浏览记录
ID:8845291
大小:24.83 KB
页数:11页
时间:2018-04-09
《蓝牙app开发-ios蓝牙通信》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、蓝牙app开发-iOS蓝牙通信一、引言 《深圳酷点网》是蓝牙手机app开发企业,蓝牙4.0是设备近距离通信的一种方便手段,在iPhone引入蓝牙4.0后,设备之间的通讯变得更加简单。相关的蓝牙操作由专门的CoreBluetooth.framework进行统一管理。通过蓝牙进行通讯交互分为两方,一方为中心设备central,一方为外设peripheral,外设通过广播的方式向外发送信息,中心设备检索到外设发的广播信息,可以进行配对连接,进而进行数据交互。二、中心设备CBCentralManager
2、 CBCentralManager是管理中心设备的管理类,其中重要方法如下://设置中心设备代理@property(assign,nonatomic,nullable)iddelegate;//中心设备当前状态@property(readonly)CBCentralManagerStatestate;//中心设备是否正在扫描@property(readonly)BOOLisScanningNS_AVAILABLE(NA,9_0);其中state是一个枚举,
3、有关蓝牙是否可用的状态如下:typedefNS_ENUM(NSInteger,CBCentralManagerState){//状态未知CBCentralManagerStateUnknown=0,//连接断开即将重置CBCentralManagerStateResetting,//该平台不支持蓝牙CBCentralManagerStateUnsupported,//未授权蓝牙使用hovertree.comCBCentralManagerStateUnauthorized,//蓝牙关闭CBCentralManage
4、rStatePoweredOff,//蓝牙正常开启CBCentralManagerStatePoweredOn,};下面这些方法用于初始化管理中心://初始化方法//设置的代理需要遵守CBCentralManagerDelegate协议//queue可以设置蓝牙扫描的线程传入nil则为在主线程中进行-(instancetype)initWithDelegate:(nullableid)delegatequeue:(nullabledispatch_queue_t)
5、queue;//此方法同上在options字典中用于进行一些管理中心的初始化属性设置//字典中支持的键值如下http://www.cnblogs.com/roucheng//*NSString*constCBCentralManagerOptionShowPowerAlertKey对应一个NSNumber类型的bool值,用于设置是否在关闭蓝牙时弹出用户提示NSString*constCBCentralManagerOptionRestoreIdentifierKey对应一个NSString对象,设置管理中心的标识
6、符ID*/-(instancetype)initWithDelegate:(nullableid)delegatequeue:(nullabledispatch_queue_t)queueoptions:(nullableNSDictionary*)options;//根据获取所有已知设备-(NSArray*)retrievePeripheralsWithIdentifiers:(NSArray7、D*>*)identifiers;//根据服务id获取所有连接的设备hovertree.com-(NSArray*)retrieveConnectedPeripheralsWithServices:(NSArray*)serviceUUIDs;在初始化管理中心完成后,会回调代理中的如下方法,我们必须实现如下方法://这个方法中可以获取到管理中心的状态-(void)centralManagerDidUpdateState:(CBCentralManager*)centr8、al;如果上面方法中管理中心状态为蓝牙可用,可以通过下面方法开启扫描外设://serviceUUIDs用于扫描一个特点ID的外设options用于设置一些扫描属性键值如下/*//是否允许重复扫描对应NSNumber的bool值,默认为NO,会自动去重NSString*constCBCentralManagerScanOptionAllowDuplicates
7、D*>*)identifiers;//根据服务id获取所有连接的设备hovertree.com-(NSArray*)retrieveConnectedPeripheralsWithServices:(NSArray*)serviceUUIDs;在初始化管理中心完成后,会回调代理中的如下方法,我们必须实现如下方法://这个方法中可以获取到管理中心的状态-(void)centralManagerDidUpdateState:(CBCentralManager*)centr
8、al;如果上面方法中管理中心状态为蓝牙可用,可以通过下面方法开启扫描外设://serviceUUIDs用于扫描一个特点ID的外设options用于设置一些扫描属性键值如下/*//是否允许重复扫描对应NSNumber的bool值,默认为NO,会自动去重NSString*constCBCentralManagerScanOptionAllowDuplicates
此文档下载收益归作者所有