轻量级iOS蓝牙库:LGBluetooth(项目中用过的)
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(项目中用过的)的更多相关文章
- iOS 项目中用到的一些开源库和第三方组件
iOS 项目中用到的一些 iOS 开源库和第三方组件 分享一下我目前所在公司 iOS 项目中用到的一些 iOS 开源库和第三方组件, 感谢开源, 减少了我们的劳动力, 节约了我们大量的时间, 让我们有 ...
- iOS、mac开源项目及库汇总
原文地址:http://blog.csdn.net/qq_26359763/article/details/51076499 iOS每日一记------------之 中级完美大整理 iOS.m ...
- 最全面的iOS和Mac开源项目和第三方库汇总
标签: UI 下拉刷新 EGOTableViewPullRefresh – 最早的下拉刷新控件. SVPullToRefresh – 下拉刷新控件. MJRefresh – 仅需一行代码就可以为UIT ...
- iOS 蓝牙开发(四)BabyBluetooth蓝牙库介绍(转)
转载自:http://www.cocoachina.com/ios/20151106/14072.html 原文作者:刘彦玮 BabyBluetooth 是一个最简单易用的蓝牙库,基于CoreBlue ...
- IOS 蓝牙相关-BabyBluetooth蓝牙库介绍(4)
BabyBluetooth 是一个最简单易用的蓝牙库,基于CoreBluetooth的封装,并兼容ios和mac osx. 特色: 基于原生CoreBluetooth框架封装的轻量级的开源库,可以帮你 ...
- iOS、mac开源项目及库(感谢原作者的分享)
目录 模糊效果 富文本 表相关 HUD与Toast 其他UI 其他动画 网络测试 网络聊天 Model 数据库 PDF 摄像照相视频音频处理 消息相关 消息推送服务器端 版本新API的Demo 测试及 ...
- ios蓝牙开发(四)BabyBluetooth蓝牙库
BabyBluetooth 是一个最简单易用的蓝牙库,基于CoreBluetooth的封装,并兼容ios和mac osx. 特色: 基于原生CoreBluetooth框架封装的轻量级的开源库,可以帮你 ...
- https://github.com/coolnameismy/BabyBluetooth github上的一个ios 蓝牙4.0的库并带文档和教程
The easiest way to use Bluetooth (BLE )in ios,even bady can use. 简单易用的蓝牙库,基于CoreBluetooth的封装,并兼容ios和 ...
- ios蓝牙开发(四)BabyBluetooth蓝牙库介绍
BabyBluetooth 是一个最简单易用的蓝牙库,基于CoreBluetooth的封装,并兼容ios和mac osx. 特色: 基于原生CoreBluetooth框架封装的轻量级的开源库,可以帮你 ...
随机推荐
- .Net Core 之 Ubuntu 14.04 部署过程
No.1 准备应用程序 1. 创建.Net Core Web项目 2. 使用VS2015发布 No.2 安装.Net Core for Ubuntu Ubuntu的安装就不介绍了,百度搜索一大堆.本人 ...
- yii2 GridView常见操作
作者:白狼 出处:http://www.manks.top/article/yii2_gridview 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则 ...
- Javascript之旅——第十一站:原型也不好理解?
写到这篇,我的js系列也快接近尾声了,所以这个系列不会遗留js来实现面向对象的核心——原型,有些人说原型不好理解,其实嘛,要想系统 的理解原型,最便捷的方式就是看看经典的书,少看些博客,博客这东西只是 ...
- XAML中的特殊符号几空白字符处理
阅读目录 介绍 详细 处理 Demo下载 介绍 XAML标记语言是基于xml的,所以很多xml中的特殊符号在XAML也是需要处理的. 详细 (取自msdn) 字符 Entity 注释 &(“a ...
- wc
$wc [-lwc] filename统计的文件的信息,缺省参数会按照lwc的顺序输出全部三种信息 -l统计文件的行数 -w统计文件的字数,字以空格和换行符分隔 -c统计文件的字符数,包括换行等 例子 ...
- 001.libev安装及eclipse下添加libev库链接
libev库安装: 1.下载页面:http://dist.schmorp.de/libev/ 当前版本下载: [root@mid_server ~]# cd /usr/local/src [root ...
- iOS 内存错误调试(EXC_BAD_ACCESS)
内存错误crash现场: Thread堆栈: 有可能是访问被释放对象造成,根据现场并不能找到具体哪个对象出现内存错误. 1.开启僵尸对象调试 Edit Scheme->Debug->Dia ...
- OpenStack 企业私有云的若干需求(7):电信行业解决方案 NFV
自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云(Hybrid cloud)支持 主流硬件支持.云快速交付 ...
- stanford coursera 机器学习编程作业 exercise 6(支持向量机-support vector machines)
在本练习中,先介绍了SVM的一些基本知识,再使用SVM(支持向量机 )实现一个垃圾邮件分类器. 在开始之前,先简单介绍一下SVM ①从逻辑回归的 cost function 到SVM 的 cost f ...
- ATM模拟程序
一个很简单的ATM模拟程序 #include <stdio.h> void chaxun(int a3){ int b; b=a3; printf("您的余额为:%d\n&quo ...