LGBluetooth 是个简单的,基于块的,轻量级 CoreBluetooth 库;
iOS 6引入了Core Bluetooth,让低功耗蓝牙设备之间的通信变得简单。但如果CoreBluetooth,你会发现其中一些语法会变得非常凌乱。
LGBluetooth是一个简单的基于block的,轻量级的开源库,可以帮你更简单地使用CoreBluetooth API,执行一些主要的CoreBluetooth任务,比如扫描或者检索蓝牙设备,连接设备,扫描可用的设备,
或者从蓝牙设备中读/写值。
使用LGBluetooth的原因:
总所周知,CoreBluetooth用起来很复杂—其中的对象方法很凌乱。
例如 connectPeripheral:options: 方法在 CBCentralManager 类中,discoverCharacteristics:forService:、writeValue:forCharacteristic:type:、readValueForCharacteristic: 都需要通过周围设备进行调用。
这些都使得 CoreBluetooth 用起来相当麻烦。比如读取一个特征值,你需要在中心设备调用“connect”方法,等待Central delegate的回调结果,然后调用”discover services”,等待peripheral delegate的回调结果,然后是调用”discover characteristic”和”readValue”函数并分别等待回调结果。如果你的项目同时进行两个蓝牙连接呢,代码会非常复杂,可能会有很多bug
别担心,现在你不用管这些了—LGBluetooth使用块作为回调,现在你可以使用现代代码和分层调用。
开始使用步骤:
LGBluetooth 遵循 MIT 开源许可证发布
开源地址:https://github.com/LGBluetooth/LGBluetooth
下载LGBluetooth SDK。
1.首先,将下图 的文件拖进来
2.添加CoreBluetooth.framework
3. 建立桥接文件,newfile-source-header file-创建,一般起名称为:项目名称-Bridging-Header.h,要在project-target-build setting -swift compiler-objective-c Bridging Header设置路径:项目名称/项目名称-Bridging-Header.h即可。
4.建立一个名字为PrefixHeader.pch文件,还要在target里面设置.pch文件路径哦(项目名称/.PrefixHeader.pch),不然会报错的。引用如下:
如图:
然后就可以调用LGBlueTooth了.