iOS-swift程序员

ATBluetooth基于Swift4.0原生CoreBluet

2017-12-06  本文已影响41人  GiantForJade

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)

连接设备

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)
  func updatedIfWriteSuccess(_ result: Result<Any>?) {
        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.

上一篇下一篇

猜你喜欢

热点阅读