Introduction(介绍)
关于Core Bluetooth
这个Core Bluetooth框架 为你的iOS和Mac apps 与装备有蓝牙低功耗无线技术的设备之间的交流提供了一些所需要的类。例如,你的应用程序能够发现,探索,和与低功耗外围设备交互,比如心率监测器,数字恒温控制器。OSX v10.9 和 iOS6, Mac和iOS设备也能够作为蓝牙低功耗外设的功能,给其他的设备提供服务数据,包括其他Mac和iOS设备。
看一眼
蓝牙低功耗无线技术是基于一种给低功耗设备之间交流定义了一套协议的蓝牙4.0规格。这个Core Bluetooth框架是蓝牙低功耗协议栈的抽象。也就是说,它隐藏了一些规格的低水平细节,使它为你更容易地开发一个与蓝牙低功耗外设交互的应用程序。
中央和周边是在Core Bluetooth中主要成员
在蓝牙低功耗交流中,有两个主要成员:中央和周边。每个成员在蓝牙低功耗交流中有不同的角色扮演。一个周边通常有其他设备需要的数据。中央通常使用周边提供的信息来完成一些任务。例如,一个数字恒温控制器装备有蓝牙低功耗技术可以给iOS应用程序提供室内温度,然后用一种友好的方式显示这个温度。
就像每个成员在蓝牙低功耗交流中扮演不同的角色,每个成员执行不同的任务。周边(外围设备)通过在空气中广播数据来显示他们的存在性。中央,在另一方面,可以扫描可能携带有它们感兴趣的周边。当一个中央发现了这样一个周边,中央可以请求连接这个周边,并开始探索和与周边交互数据。这个周边以适当的方式来负责响应这个中央。
相关章节: Core Bluetooth Overview
Core Bluetooth 简化普通蓝牙任务
这个Core Bluetooth框架抽象出蓝牙4.0规范的底层细节.因此,很多你需要实现普通的蓝牙低功耗任务是被简化的。如果你开发一个app来实现中央角色,Core Bluetooth使它很容易来发现和连接周边设备,并且探索和与周边设备数据交互。另外,Core Bluetooth使它很容易让你创建你的本地设备来实现周边角色。
相关章节:Performing Common Central Role Tasks, Performing Common Peripheral Role Tasks.
iOS 应用程序的状态影响蓝牙的行为.
当你的iOS应用程序是在后台或者悬挂状态时,它的与蓝牙相关的能力是被影响的。在默认情况下,你的应用程序在它处于后台或是悬挂状态时,不能够执行蓝牙低功耗任务。也就是说,如果你的应用程序在后台需要执行蓝牙低功耗任务,你可以声明它来支持一个或两个Core Bluetooth后台执行模式(有一个是中央角色,和一个周边角色),即使当你声明了一个或两个后台执行模式,某些蓝牙任务在你的应用程序处于后台时是不同的。当你设计你的应用程序时需要考虑这些差异。
即使应用程序支持后台处理,也可能被系统在任何时候为了当前的前台应用程序时放内存而终止。在iOS 7之后,Core Bluetooth支持保存中央和周边管理者对象的状态信息,和在应用程序启动时恢复状态。你可以使用这个特性来支持涉及到蓝牙设备的长期任务。
相关章节:Core Bluetooth Background Processing for iOS Apps
遵循最佳实践来增强用户体验
这个Core Bluetooth框架给你的应用程序控制需要常见的蓝牙低功耗事务,遵循最佳实践来以一种负责任的方式来利用这种控制级别增强用户体验。例如,当实现中央或周边角色使用你的设备的机载无线电载空气中传输信号时可以执行很多任务。因为你的设备无线电和其他形式的无线通信是共享的,也由于无线的使用对设备电池的寿命有不良的影响,所以载设计应用程序时尽量最小化使用无线。
相关章节:Best Practices for Interacting with a Remote Peripheral Device, Best Practices for Setting Up Your Local Device as a Peripheral.
如何使用这个文档
如果你从没有使用过Core Bluetooth框架,或者你不熟悉基本的蓝牙低功耗概念,那就完整的阅读这个文档。在Core Bluetooth Overview中,你学习需要知道在这本书的其余部分的关键术语和概念。
你理解了关键概念之后,阅读Performing Common Central Role Tasks来学习如何开发你的应用程序来在你的本地设备上实现中央角色。类似的,阅读Performing Common Peripheral Role Tasks 学习如何开发你的应用程序来在你的本地设备上实现周边角色。
确保你的应用程序表现良好,遵循最佳实践,阅读这些章节:Core Bluetooth Background Processing for iOS Apps, Best Practices for Interacting with a Remote Peripheral Device. 和 Best Practices for Setting Up Your Local Device as a Peripheral.