iOS开发之BLE(一)——理论知识

本文详细介绍iOS蓝牙开发核心框架CoreBluetooth的使用,包括CBCentral、CBCentralManager、CBPeripheral等关键类与协议,以及中心模式下蓝牙设备的连接、数据读写流程。适合初学者和有经验的开发者参考。

在iOS开发中,我们最常用的蓝牙开发框架应该是Core Bluetooth,因为它可以与第三方蓝牙设备交互(必须要支持蓝牙4.0),蓝牙4.0以低功耗著称,所以一般也叫BLE(Bluetooth Low Energy),目前广泛应用于智能手环,智能嵌入式设备,智能家居等领域。笔者最近需要用到这个知识,所以一起来学习一下吧。在Core Bluetooth中提供了与蓝牙设备进行通信所需的类与协议,所以在开发之前一定要将他们的关系弄清楚,那么开发起来才会事半功倍。

Apple 官方文档地址:developer.apple.com/documentati…

重要的类与协议
  • CBCentral:中心设备,发起连接的是CBCentral
  • CBCentralManager:中心设备管理者,类似定位中的CLLocationManager
  • CBPeripheral:外围设备,被连接的设备是CBPeripheral
  • CBService:外围设备的服务,每个外围设备都会提供很多服务
  • CBCharacteristic:外围设备的特征,包含在每个服务里
  • CBDescriptor:用于描述CBCharacteristic的信息或属性
  • CBCentralManagerDelegate:CBCentralManager对象遵守的协议,用于监视外围设备的发现、连接和检索
  • CBPeripheralDelegate:CBPeripheral对象遵守的协议,用于监视外围设备的服务和属性的发现、检索和交互

两种开发模式
  • 中心模式:如下图左边所示,以App为中心,连接其他的外设进行通信;(常见开发模式
  • 外设模式:如下图右边所示,使用手机作为外设,连接其他中心设备进行通信;
中心模式的开发步骤
  1. 创建CBCentralManager实例进行蓝牙管理
  2. 搜索外围设备
  3. 连接外围设备
  4. 获得外围设备的服务
  5. 获得服务的特征
  6. 从外围设备读数据(读取或订阅)
  7. 向外围设备写数据
  8. 断开连接
注意问题
  • 不要对Core Bluetooth中的任何类进行子类化
  • iOS 10以后需要在info.plist文件中加上NSBluetoothPeripheralUsageDescription

转载于:https://juejin.im/post/5cc64dd96fb9a0323a01bf22

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值