BleManageSwift 1.0.7

BleManageSwift 1.0.7

superbread 维护。



  • ArdWang

BleManageSwift


GitHub license CocoaPods Compatible Platform
这是 BleManageSwift

新版本 1.0.7

*目前不支持 oc 版本

非常感谢 cesarferreira https://github.com/cesarferreira/SwiftEventBus/commits?author=cesarferreira 提供的 SwiftEventBus

快速开发蓝牙工具

安装介绍 只能支持 ios10.0以上版本

--------------------------------------------------------------------------------
 🎉  Congrats

 🚀  BleManageSwift (current version) successfully published
 📅  September 23rd, 01:51
 🌎  https://cocoapods.org/pods/BleManageSwift
 👍  Tell your friends!
--------------------------------------------------------------------------------

BleManageSwift 安装指南

target 'MyApp' do
  pod 'BleManageSwift', '~> current version'
end

如果您使用时出现以下错误

[!] CocoaPods could not find compatible versions for pod "BleManageSwift":
  In Podfile:
    BleManageSwift (~> current version)

None of your spec sources contain a spec satisfying the dependency: `BleManageSwift (~> current version)`.

You have either:
 * out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
 * mistyped the name or version.
 * not added the source repo that hosts the Podspec to your Podfile.

请运行 pod repo update 或者 pod install --repo-update

然后,在终端中运行 pod install,或在 CocoaPods.app 中运行。

或者,为了测试运行,可以运行以下命令:

pod try BleManageSwift

更新 2020/9/29

版本 1.0.7

  1. 修复了多个设备无法读取数据的问题。
  2. 数据读取已接收列表

更新 2020/9/25

版本 1.0.6

更新 BleManange 类

1.0.6 版本

更新蓝牙操作方法

  1. 蓝牙扫描
    BleManage.shared.scan()
  1. 停止 BleManage 扫描
    BleManage.shared.stop()
  1. 连接蓝牙
//use mdoel is BleModel
BleManage.shared.connect(model)
  1. 断开蓝牙连接
//use mdoel is BleModel
BleManage.shared.discon(model)
  1. 断开所有蓝牙连接
//use mdoel is BleModel
BleManage.shared.disall(model)
  1. 打开蓝牙通知
//use mdoel is BleModel
//current CBCharacteristic
//open -> true,false
BleManage.shared.nofity(_ model:BleModel?, characteristic: CBCharacteristic?,open:Bool)
  1. 读取蓝牙值
//use mdoel is BleModel
//current CBCharacteristic
BleManage.shared.read(_ model:BleModel?,characteristic: CBCharacteristic?)
  1. 写入蓝牙值
//write String type value
//current CBCharacteristic
//current CBPeripheral

BleManage.shared.writes(_ value: String?, for characteristic: CBCharacteristic?, periperalData periperal: CBPeripheral?)

//write Data type value
//current CBCharacteristic
//current CBPeripheral

BleManage.shared.writes(_ value: Data?, for characteristic: CBCharacteristic?, periperalData periperal: CBPeripheral?)

更新 2020/9/23

即将进行维护

版本 1.0.5 删除不必要的扩展

版本更改为 v1.0.3 v1.0.4

版本 1.0.1 紧急修复了无法调用方法的 bug

版本 1.0.0 初始版本

相应功能如下

  1. 能够快速连接多台蓝牙设备
  2. 代码简单,使用方便
  3. 支持蓝牙扫描,可以自定义所需连接

使用介绍

!代码在使用过程中出现bug属于正常现象,我会经常的维护此库

使用也非常简单,如果你觉得源代码写得不好,可以参与我的代码更改!欢迎你的加入

效果图

image

image

image

首先导入

import BleManageSwift

开始扫描设备

    override func viewDidLoad() {
        super.viewDidLoad()
        BleManage.shared.startScan()
    }
    

停止扫描设备

    BleManage.shared.stopScan()

使用扫描所得的设备

    BleEventBus.onMainThread(self, name: "bleEvent"){
            result in
            self.refresh.endRefreshing()
            let model = result?.object as! BleModel
            //可以自定义判断蓝牙为空的时候不能添加进去直接排除
            if model.name != nil && model.name != ""{
                self.changeTableView(model: model)
            }
        }

连接蓝牙设备

// model为蓝牙设备的model model:BleModel
BleManage.shared.connect(model)

BleEventBus 介绍

BleEventBus 使用非常简单。想要的数据可以通过任何界面进行调用。

发送数据格式为:名称+任意数据类型

BleEventBus.post("xxxx",sender:Any)

接收数据,name 为你发送的名称

 BleEventBus.onMainThread(self, name: "xxxx"){
    result in
    //执行你的操作
 }

取消使用时

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)
    BleEventBus.unregister(self)
}

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)
    BleEventBus.unregister("xxxx")
}

BleManage 接收类型介绍

发送设备连接成功事件

v1.0.5 支持

BleEventBus.post("connectEvent", sender: self.successList)

发送扫描设备事件

BleEventBus.post("bleEvent", sender: model)

断开蓝牙连接事件

BleEventBus.post("disconnectEvent", sender: model)

蓝牙连接中出现错误事件(为字符串类型)

BleEventBus.post("connectBleFailEvent", sender: "xxx")

蓝牙读取数据错误事件

BleEventBus.post("readValueError", sender: "xxxx")

蓝牙写入数据错误

BleEventBus.post("writeValueError", sender: "write data (error)")

接收数据时按需接收

BleEventBus.onMainThread(self, name: "bleEvent"){
    result in

}