swift3.0蓝牙开发(2)

本文是关于swift3.0蓝牙开发的续篇,主要介绍蓝牙连接过程和订阅特征的概念与应用。通过设置CBCentralManagerDelegate和CBPeripheralDelegate代理,扫描并连接外设,发现服务和特征。重点解析了didUpdateNotificationStateForCharacteristic方法的作用,它在订阅特征和读取数据时被调用,用于接收外设发送的数据,实现如蓝牙音箱下一首歌功能的响应和交互。
摘要由CSDN通过智能技术生成
承接上篇swift3.0蓝牙开发(1)

三.代码展示

1.设置代理
CBCentralManagerDelegate 中心者的代理
CBPeripheralDelegate 外设的代理

class ViewController: UIViewController,CBCentralManagerDelegate,CBPeripheralDelegate

2.定义全局的中心者对象

    /// 中心者对象
    var central: CBCentralManager
    /// 外设数组
    var peripheralArray = NSMutableArray.init()

3.初始化中心者对象(第一个参数是设置代理,第二个参数是队列,这不讲,涉及多线程开发了)

     /// 初始化中心设备
    func initBluetooth() {
        //MARK: -1.初始化本地中心设备对象
        central = CBCentralManager.init(delegate: self, queue: nil)
        }

4.当初始化完中心者对象后,就会回调以下的方法,就是当初始化中心者对象那句代码运行过完后,就会走到以下的方法
这个方法是用来检查手机(中心者)的蓝牙状态,比如是否打开啊,是否支持蓝牙4.0啊

      func centralManagerDidUpdateState(_ central: CBCentralManager) {
        self.writeToTextView(string: "初始化对象后,来到centralManagerDidUpdateState")
        switch central.state {
        case .unknown:
            print("CBCentralManager state:", "unknown")
            break
        case .resetting:
            print("CBCentralManager state:", "resetting")
            break
        case .unsupported:
            print(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值