CBCentralManager学习笔记
来源:互联网 发布:电商商品推荐算法 编辑:程序博客网 时间:2024/06/16 23:58
// CBCentralManager学习笔记
@interface CBCentralManager : NSObject
//CBCentralManager的几种状态
typedef NS_ENUM(NSInteger, CBCentralManagerState) {
// 初始的时候是未知的(刚刚创建的时候)
CBCentralManagerStateUnknown = 0,
//正在重置状态
CBCentralManagerStateResetting,
//设备不支持的状态
CBCentralManagerStateUnsupported,
// 设备未授权状态
CBCentralManagerStateUnauthorized,
//设备关闭状态
CBCentralManagerStatePoweredOff,
// 设备开启状态 -- 可用状态
CBCentralManagerStatePoweredOn,
};
// 代理
@property(weak, nonatomic) id<CBCentralManagerDelegate> delegate;
//设备的状态
@property(readonly) CBCentralManagerState state;
// 初始化方法-参数-delegate-可以放到多线程里面去创建做更多的事情-queue
- (id)initWithDelegate:(id<CBCentralManagerDelegate>)delegate queue:(dispatch_queue_t)queue;
//初始化方法-参数-options指定这个manager
- (id)initWithDelegate:(id<CBCentralManagerDelegate>)delegate queue:(dispatch_queue_t)queue options:(NSDictionary *)options
//检索外围设备通过传入一个UUID数组
- (void)retrievePeripherals:(NSArray *)peripheralUUIDs
//检索外围设备通过传入一个identifiers数组
- (NSArray *)retrievePeripheralsWithIdentifiers:(NSArray*)identifiers
// 检索已连接的外围设备
- (void)retrieveConnectedPeripherals
//通过服务的UUID数组返回已经连接的服务数组
- (NSArray *)retrieveConnectedPeripheralsWithServices:(NSArray*)serviceUUIDs
// serviceUUIDs是一个CBUUID数组,如果serviceUUIDs是nil为空的话所有的被发现的peripheral将要被返回
- (void)scanForPeripheralsWithServices:(NSArray *)serviceUUIDs options:(NSDictionary *)options
// 停止扫描
- (void)stopScan
//通过options指定的选项去连接peripheral
- (void)connectPeripheral:(CBPeripheral *)peripheral options:(NSDictionary *)options
//取消一个活跃的或者等待连接的peripheral的连接
- (void)cancelPeripheralConnection:(CBPeripheral *)peripheral
-----------------------------------------------------代理方法------------------------------------------------------------------
@protocol CBCentralManagerDelegate <NSObject>
// 必须实现的方法
@required
//仅仅在CBCentralManagerStatePoweredOn的时候可用当central的状态是OFF的时候所有与中心连接的peripheral都将无效并且都要重新连接,central的初始状态时是Unknown
- (void)centralManagerDidUpdateState:(CBCentralManager *)central;
@optional
//central提供信息,dict包含了应用程序关闭是系统保存的central的信息,用dic去恢复central
//app状态的保存或者恢复,这是第一个被调用的方法当APP进入后台去完成一些蓝牙有关的工作设置,使用这个方法同步app状态通过蓝牙系统
- (void)centralManager:(CBCentralManager *)central willRestoreState:(NSDictionary *)dict
//* @param central The central manager providing this information.
* @param peripherals A list of <code>CBPeripheral</code> objects.
改方法返回一个结果当{@link retrievePeripherals} 被调用,与周边,中央能够匹配UUID
- (void)centralManager:(CBCentralManager *)central didRetrievePeripherals:(NSArray *)peripherals
//peripherals表示当前连接central的所有peripherals
//这个方法返回一个结果,当retrieveConnectedPeripherals被调用是
- (void)centralManager:(CBCentralManager *)central didRetrieveConnectedPeripherals:(NSArray *)peripherals
- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI
- (void)centralManager:(CBCentralManager *)central didConnectPeripheral:(CBPeripheral *)peripheral
- (void)centralManager:(CBCentralManager *)central didFailToConnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error
- (void)centralManager:(CBCentralManager *)central didDisconnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error
- CBCentralManager学习笔记
- CBCentralManager学习笔记
- CBCentralManager学习笔记
- CBCentralManager学习笔记
- CBCentralManager学习笔记
- CBCentralManager学习笔记
- CBCentralManager
- CBCentralManager 蓝牙
- CBCentralManager Class Reference
- CBCentralManager 蓝牙透传
- iOS CBCentralManager以及CBCentralManagerDelegate
- iOS--CBCentralManager实现
- CBCentralManager Class 的相关分析
- CBCentralManager 的background mode问题
- CBCentralManager 退后台 程序崩溃
- CBCentralManager、CBPeripheral等简要理解DEMO
- iOS蓝牙调用的一般流程-CBPeripheralManagert和CBCentralManager
- 学习笔记?
- zookeeper进阶(一)客户端建立连接及相应的源码分析
- Zabbix的学习过程--zabbix服务端以及web端搭建
- iOS_Android_破解_常看的博客
- Shell脚本之awk详解
- Thinkphp3.2自动验证和自动完成无效
- CBCentralManager学习笔记
- javascript循环中闭包的处理
- SVN linux 命令
- 学英语《每日一歌》之far away from home
- 30秒搭建Github Page
- 变量知识点
- Linux远程终端工具之Xmanager-Xbrowser
- 第6周项目6--复数模板类-友元
- C 时间继续之 时间转换函数 ctime