BleManageSwift
这是 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
- 修复了多个设备无法读取数据的问题。
- 数据读取已接收列表
更新 2020/9/25
版本 1.0.6
更新 BleManange 类
1.0.6 版本
更新蓝牙操作方法
- 蓝牙扫描
BleManage.shared.scan()
- 停止 BleManage 扫描
BleManage.shared.stop()
- 连接蓝牙
//use mdoel is BleModel
BleManage.shared.connect(model)
- 断开蓝牙连接
//use mdoel is BleModel
BleManage.shared.discon(model)
- 断开所有蓝牙连接
//use mdoel is BleModel
BleManage.shared.disall(model)
- 打开蓝牙通知
//use mdoel is BleModel
//current CBCharacteristic
//open -> true,false
BleManage.shared.nofity(_ model:BleModel?, characteristic: CBCharacteristic?,open:Bool)
- 读取蓝牙值
//use mdoel is BleModel
//current CBCharacteristic
BleManage.shared.read(_ model:BleModel?,characteristic: CBCharacteristic?)
- 写入蓝牙值
//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 初始版本
相应功能如下
- 能够快速连接多台蓝牙设备
- 代码简单,使用方便
- 支持蓝牙扫描,可以自定义所需连接
使用介绍
!代码在使用过程中出现bug属于正常现象,我会经常的维护此库
使用也非常简单,如果你觉得源代码写得不好,可以参与我的代码更改!欢迎你的加入
效果图
首先导入
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
}