初探蓝牙

最近因为有蓝牙打印这方面的需求上身,需要用到蓝牙的这个功能,所以对于这个方向进行了一系列的了解,在这里记录一下自己的理解。

概述

在iOS中,想要使用蓝牙功能的话,苹果提供了4个框架可用于实现蓝牙连接,每种方式的都有些不同,这里我都会简单介绍。

1.ExternalAccessory.framework (MFi)
  • 可用于第三方蓝牙设备交互,但是蓝牙设备必须经过苹果MFi认证(国内很少)
  • MFi:(make for iPhone/iPad/iTouch)专门为苹果设备制作的设备
2.GameKit.framework (用法简单)
  • 它只能用于iOS设备、同一程序之间的连接
  • 主要用于为游戏添加一些比较有趣的功能,比如Game Center。
  • 从iOS7之后开始过期。
3.MultipeerConnectivity.framework (代替GameKit)
  • iOS7开始引入,即使在没有连接到WiFi(WLAN)或移动网络(xG)的情况下,距离较近的Apple设备之间可基于蓝牙和WiFi(P2P WiFi)技术进行发现和连接实现近场通信。
  • 这个框架扩充的功能与利用AirDrop传输文件非常类似,可以将它看作苹果对我们不能直接使用AirDrop的一种补偿,代价是需要自己实现。
  • 相比AirDrop,Multipeer Connectivity在进行发现和会话时并不要求同时打开WiFi和蓝牙,也不像AirDrop那样强制打开这两个开关,而是根据条件适时选择使用蓝牙或(和)WiFi。
  • 主要用于非联网状态下,通过wifi或者蓝牙进行文件共享(仅限于沙盒的文件),多用于附近无网聊天
  • 粗略测试情况如下:
  • 双方WiFi和蓝牙都未打开:无法发现。
  • 双方都开启蓝牙:通过蓝牙发现和传输。
  • 双方都开启WiFi:通过WiFi Direct发现和传输,速度接近AirDrop(Reliable速率稍低),不知道同一WLAN下是否优先走局域网?
  • 双方都同时开启了WiFi和蓝牙:应该是模拟AirDrop,通过低功耗蓝牙技术扫描发现握手,然后通过WiFi Direct传输。
4.CoreBluetooth.framework(时下热门)
  • 可用第三方设备的蓝牙交互,但必须要支持蓝牙4.0
  • 主机硬件至少4S,系统至少iOS6
  • 目前应用比较多的案例:运动手环,智能家居,嵌入式设备

AirDrop

在上面聊到了AirDrop,那么我在这里也说说对于他的了解吧

  • 苹果在2010年推出了AirDrop功能,仅允许在两台Mac中进行无线传输。在14年苹果打通了与iOS移动设备之间的跨平台飞速传输。
  • 该功能允许两台iOS设备之间无线传输文件。 不要求双方必须联网或连接到同一局域网,但必须同时打开WiFi和蓝牙,且进行传输的两台设备必须保持在一定的范围之内。
  • 根据官方资料显示,AirDrop基于蓝牙和WiFi实现(AirDrop does the rest using Wi-Fi and Bluetooth)。 具体来说,通过低功耗蓝牙技术(BLE)进行发现(Advertising/Browsing),使用WiFi Direct(P2P WiFi)技术进行数据传输。 可参考《iOS 7的AirDrop是利用什么信号来传输的?

结语

在这里,我主要需要利用蓝牙打印这个功能,在苹果所给出的这几个蓝牙库中,只有CoreBluetooth.framework这个框架适合。所以选择了CoreBluetooth这个框架进行一系列的蓝牙开发,下来我的中心将会主要放在CoreBluetooth这个框架中。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,204评论 4 61
  • iOS中提供了4个框架用于实现蓝牙连接 GameKit.framework(用法简单)-只能用于iOS设备之间的同...
    Hyman0819阅读 5,492评论 0 0
  • 晨读随笔:原创《牵起阳光走路》 第一次读到余教授说的这里话,“所谓善良天性,就是潜藏在心底的“无缘无故的爱”...
    飘逸1阅读 3,126评论 0 4
  • 霾,重。 近尝试养成习惯,偶有不符,求完美之心总有波动。 切记,谋大事,讲大局。 况且,目前仍在调整固化阶段。 别...
    胜似春阅读 858评论 0 0
  • 今天是你离开的第21天。21天形成一个习惯,我习惯了你不在身边,也习惯了不再数着日子盼着你回来,但还是没有习惯怎样...
    蓬蓬蓬的毛毛熊阅读 754评论 0 0