what‘s the BLE ?
随着蓝牙低功耗技术BLE(Bluetooth Low Energy)的发展,蓝牙技术正在一步步成熟,如今的大部分移动设备都配备有蓝牙4.0,相比之前的蓝牙技术耗电量大大降低。从iOS的发展史也不难看出苹果目前对蓝牙技术也是越来越关注,例如苹果于2013年9月发布的iOS7就配备了iBeacon技术,这项技术完全基于蓝牙传输。但是众所周知苹果的设备对于权限要求也是比较高的,因此在iOS中并不能像Android一样随意使用蓝牙进行文件传输(除非你已经越狱)。知道什么是蓝牙之后,那么在iOS中进行蓝牙传输应用开发常用的框架有哪几种呢?
开发蓝牙的框架
- GameKit
- multipeerconnectivity
- exteralaccessory
- corebluetooth (做智能家居现在都用这个框架)
局限
1、GameKit的
- 只能用于iOS设备之间的链接
- 只能用于同一个应用程序之间的连接
- 最好别利用蓝牙发送比较大的数据
2、 multipeerconnectivity - 利用Multipeer Connectivity框架,即使在
没有连接到WiFi(WLAN)或移动网络(xG)
的情况下,距离较近的Apple设备(iMac/iPad/iPhone)之间可基于蓝牙和WiFi(P2P WiFi)
技术进行发现和连接实现近场通信。 - Multipeer Connectivity扩充的功能与利用AirDrop传输文件非常类似,可以将其看作AirDrop不能直接使用的补偿,代价是需要自己实现。
- 手机不联网也能跟附近的人聊得火热的
FireChat
和See You Around
等近场聊天App、近距离无网遥控交互拍照神器拍咯App
就是基于Multipeer Connectivity框架实现。 - 相比AirDrop,Multipeer Connectivity在进行发现和会话时并不要求同时打开WiFi和蓝牙,也不像AirDrop那样强制打开这两个开关,而是根据条件适时选择使用蓝牙或(和)WiFi。
- 略测试情况如下:
- 双方WiFi和蓝牙
都未打开
:无法发现。 - 双方都开启
蓝牙
:通过蓝牙发现和传输。 - 双方都开启
WiFi
:通过WiFi Direct发现和传输,速度接近AirDrop(Reliable速率稍低),不知道同一WLAN下是否优先走局域网? - 双方都
同时开启了WiFi和蓝牙
:应该是模拟AirDrop,通过低功耗蓝牙技术扫描发现握手,然后通过WiFi Direct传输。
3、exteralaccessory(国内用的人极少)
- 双方WiFi和蓝牙
- MFI:(make for iPhone/iPad/iTouch)专门为苹果设备制作的设备
- 支持MFI的设备开发使用此框架
4、corebluetooth(注意这里这个框架是最重要的,以上3个权当了解)。
网友评论