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了.

轻量级iOS蓝牙库:LGBluetooth(项目中用过的)的更多相关文章

  1. iOS 项目中用到的一些开源库和第三方组件

    iOS 项目中用到的一些 iOS 开源库和第三方组件 分享一下我目前所在公司 iOS 项目中用到的一些 iOS 开源库和第三方组件, 感谢开源, 减少了我们的劳动力, 节约了我们大量的时间, 让我们有 ...

  2. iOS、mac开源项目及库汇总

    原文地址:http://blog.csdn.net/qq_26359763/article/details/51076499    iOS每日一记------------之 中级完美大整理 iOS.m ...

  3. 最全面的iOS和Mac开源项目和第三方库汇总

    标签: UI 下拉刷新 EGOTableViewPullRefresh – 最早的下拉刷新控件. SVPullToRefresh – 下拉刷新控件. MJRefresh – 仅需一行代码就可以为UIT ...

  4. iOS 蓝牙开发(四)BabyBluetooth蓝牙库介绍(转)

    转载自:http://www.cocoachina.com/ios/20151106/14072.html 原文作者:刘彦玮 BabyBluetooth 是一个最简单易用的蓝牙库,基于CoreBlue ...

  5. IOS 蓝牙相关-BabyBluetooth蓝牙库介绍(4)

    BabyBluetooth 是一个最简单易用的蓝牙库,基于CoreBluetooth的封装,并兼容ios和mac osx. 特色: 基于原生CoreBluetooth框架封装的轻量级的开源库,可以帮你 ...

  6. iOS、mac开源项目及库(感谢原作者的分享)

    目录 模糊效果 富文本 表相关 HUD与Toast 其他UI 其他动画 网络测试 网络聊天 Model 数据库 PDF 摄像照相视频音频处理 消息相关 消息推送服务器端 版本新API的Demo 测试及 ...

  7. ios蓝牙开发(四)BabyBluetooth蓝牙库

    BabyBluetooth 是一个最简单易用的蓝牙库,基于CoreBluetooth的封装,并兼容ios和mac osx. 特色: 基于原生CoreBluetooth框架封装的轻量级的开源库,可以帮你 ...

  8. https://github.com/coolnameismy/BabyBluetooth github上的一个ios 蓝牙4.0的库并带文档和教程

    The easiest way to use Bluetooth (BLE )in ios,even bady can use. 简单易用的蓝牙库,基于CoreBluetooth的封装,并兼容ios和 ...

  9. ios蓝牙开发(四)BabyBluetooth蓝牙库介绍

    BabyBluetooth 是一个最简单易用的蓝牙库,基于CoreBluetooth的封装,并兼容ios和mac osx. 特色: 基于原生CoreBluetooth框架封装的轻量级的开源库,可以帮你 ...

随机推荐

  1. FileOutputStream VS FileWriter

    当我们使用Java往文件写入数据的时候,我们有两种方式,使用FileOutputStream或FileWriter. FileOutputStream: File fout = new File(fi ...

  2. 集合1--毕向东java基础教程视频学习笔记

    Day14 集合框架01 体系概述02 共性方法03 迭代器04 List集合共性方法05 ListIterator06 List集合具体对象特点07 Vector中的枚举 01 体系概述 集合类为什 ...

  3. Oracle global database name与db link的纠缠关系

    ORACLE数据库中Global Database Name与DB LINKS的关系还真是有点纠缠不清,在说清楚这个关系前,我们先来了解一下Global Database Name的概念 Global ...

  4. ORA-32004: obsolete and/or deprecated parameter(s) specified

    如果在启动数据库时遇到ORA-32004: obsolete and/or deprecated parameter(s) specified 错误,这个是因为数据库里面设置了过时或不推荐使用的参数, ...

  5. hadoop2.4.1集群搭建

    准备Linux环境 修改主机名: $ vim /etc/sysconfig/network NETWORKING=yes HOSTNAME=hadoop001 修改IP: # vim /etc/sys ...

  6. .NET项目开发—浅谈面向接口编程、可测试性、单元测试、迭代重构(项目小结)

    阅读目录: 1.开篇介绍 2.迭代测试.重构(强制性面向接口编程,要求代码具有可测试性) 2.1.面向接口编程的两个设计误区 2.1.1.接口的依赖倒置 2.1.2.接口对实体的抽象 2.2.迭代单元 ...

  7. MySQL客户端工具 SQLyog

    我最喜欢它的History功能,把执行过的操作对应语句都输出出来,一些麻烦的语句用GUI操作后,还能保存对应的sql语句.不错! 官网:http://www.webyog.com 下面是官方的介绍:S ...

  8. Linux文件I/O

    文件描述符(File Descriptor) a small, nonnegative integer for use in subsequent system calls (read(2), wri ...

  9. 发现struct proc_dir_entry内核3.10.17移到internal中去了,倒

    struct proc_dir_entry 原:2.6.38.8 在#include <linux/proc_fs.h> 现:3.10.17 在fs/proc/internal.h:str ...

  10. emacs 新手笔记(二) —— 分割窗格 (split window)

    初极狭,才通人.复行数十步,豁然开朗.—— 陶渊明·桃花源记 ilocker:关注 Android 安全(新入行,0基础) QQ: 2597294287 使用 split-window-xxx 函数可 ...