ATBluetooth基于Swift4.0原生CoreBluetooth的封装

ATBluetooth

ATBluetooth基于Swift4.0原生CoreBluetooth的封装,目前仅支持中心模式,实现了设备的扫描搜索,连接,重新连接,以及数据的读写功能,可无缝接入蓝牙开发,目前项目持续优化中.

使用教程

使用者只需关注ATBlueToothContext以及ATBleDevice即可

设备搜索实现

atBlueTooth = ATBlueToothContext.default
atBlueTooth.confing(.CenteMode)//目前仅支持中心模式
atBlueTooth.delegate = self //设置代理 ATCentralDelegte
atBlueTooth.startScanForDevices(advertisingWithServices: ["FFF0"]) // 扫描特定的服务
atBlueTooth.startScanForDevices() //扫描所有服务

//ATCentralDelegte
func didFoundATBleDevice(_ device: ATBleDevice)
  • 搜索到的设备会创建ATBleDevice,具体属性可以见文件,使用者可以根据自己的需要保存相关信息,过滤添加自己需要的蓝牙智能设备。

连接设备

atBlueTooth.connect(device)
device?.delegate = self //设置代理 ATBleDeviceStateDelegate
func updatedATBleDeviceState(_ state:ATBleDeviceState,error:Error?)//可由此获取设备是否连接成功 or device.state

向设备发送数据

atBlueTooth.writeData(_ data:Data,type:ATCharacteristicWriteType = .withResponse,block: writeResult = nil)
  • 发送结果有两种回馈方式 block or delegate(ATBleDeviceStateDelegate)
  func updatedIfWriteSuccess(_ result: Result?) {
        guard result != nil else {
            return
        }
        switch result! {
        case .Success(let value):
            Print(value)
        case .Failure(let error):
            Print(error)
        }
  }

设备重新连接

//由设备的uuidString  此标志同一设备在不同的手机不同
func reconnectDevice(_ uuidString:String?) //ATBlueToothContext

ATBluetooth是利用工厂模式一步步进行开发实现的,项目开发大部分都是基于中心模式,后续会实现peripheral模式,持续优化中,望给出建议,欢迎issues,star.

你可能感兴趣的:(ATBluetooth基于Swift4.0原生CoreBluetooth的封装)