章节连接

iOS Core Bluetooth_1 概述
iOS Core Bluetooth_2 基础知识
iOS Core Bluetooth_3 用作中央设备的常用方法(1/2)[swift实现]
iOS Core Bluetooth_4 用作中央设备的常用方法(2/2)[swift实现]

写在前面

核心蓝牙框架提供了iOS和Mac应用程序与配备了蓝牙低能耗无线技术的设备进行通信所需的类。例如,您的应用程序可以扫描发现低耗能的外围设备并与之交互,例如心率监视器和数字恒温器。从macOS 10.9和iOS 6开始,Mac和iOS设备还可以用作低功耗蓝牙外围设备,向其他设备(包括其他Mac和iOS设备)提供数据。

蓝牙低功耗无线技术基于蓝牙4.0规范,该规范尤其定义了一组用于在低功耗设备之间进行通信的协议。核心蓝牙框架是蓝牙低能耗协议栈的抽象。就是说,它向开发人员隐藏了规范的许多底层细节,使您更容易开发与蓝牙低功耗设备交互的应用。

中央设备与外围设备是蓝牙通信的重要角色

在蓝牙低能耗通信中,有两个关键角色:中央和外围设备。基于传统的client-server结构,外围设备通常具有其他设备所需的数据。中心通常使用外围设备提供的信息来完成某些任务。例如,配备了蓝牙低能耗技术的数字恒温器可能会向iOS应用提供房间的温度,然后以用户友好的方式显示温度。

每个角色在执行其角色时执行一组不同的任务。外围设备通过广播其所拥有的数据来使其存在被感知。中心会扫描附近可能有他们感兴趣的数据的外围设备。

当中心发现这样的外围设备时,中心会请求连接到外围设备,并开始探索外围设备的数据并与之交互。外设负责以适当的方式响应中央设备。

Core Bluetooth 简化了通用蓝牙技术

核心蓝牙框架从蓝牙4.0规范中抽象出了底层细节。结果,简化了您需要在应用程序中实现的许多常见的蓝牙低功耗任务。如果您正在开发实现中心角色的应用程序,则Core Bluetooth可以轻松发现和连接外围设备,以及探索和与外围设备的数据进行交互。另一方面,Core Bluetooth使您可以轻松地设置本地设备以实现充当外围设备角色。

iOS 应用状态影响蓝牙的状态运行

当您的iOS应用处于后台或挂起状态时,其与蓝牙相关的功能会受到影响。默认情况下,您的应用程序在后台或处于挂起状态时将无法执行低功耗蓝牙任务。就是说,如果您的应用需要在后台执行蓝牙低能耗任务,则可以声明它支持一方或两方Core Bluetooth后台执行模式(其中一种用于中心角色,一种用于外围角色)。即使您声明了后台执行模式中的一方或两方,当您的应用程序在后台运行时,某些蓝牙任务也会以不同的方式运行。在设计应用程序时,您需要考虑这些差异。

系统甚至可以随时终止支持后台处理的应用程序,以释放当前前景应用程序的内存。从iOS 7开始,Core Bluetooth支持保存中央和外围设备管理器对象的状态信息,并在应用启动时恢复该状态。您可以使用此功能来支持涉及蓝牙设备的长期操作。

遵循最好的实践以增强用户体验

核心蓝牙框架使您的应用程序可以控制许多常见的蓝牙低能耗交易。遵循最佳实践,以负责任的方式利用此级别的控制并增强用户的体验。

例如,您在执行中央或外围角色时执行的许多任务都使用设备的机载无线电通过空中传输信号。由于您的设备的无线电与其他形式的无线通信共享,并且由于无线电的使用会对设备的电池寿命产生不利影响,因此请始终设计您的应用程序以最大程度地减少使用无线电的次数。

iOS Core Bluetooth_1 概述相关推荐

  1. iOS Core Bluetooth_3 用作中央设备的常用方法(1/2)[swift实现]

    章节连接 iOS Core Bluetooth_1 概述 iOS Core Bluetooth_2 基础知识 iOS Core Bluetooth_3 用作中央设备的常用方法(1/2)[swift实现 ...

  2. iOS Core Bluetooth_4 用作中央设备的常用方法(2/2)[swift实现]

    章节连接 iOS Core Bluetooth_1 概述 iOS Core Bluetooth_2 基础知识 iOS Core Bluetooth_3 用作中央设备的常用方法(1/2)[swift实现 ...

  3. iOS Core Bluetooth_2 基础知识

    章节连接 iOS Core Bluetooth_1 概述 iOS Core Bluetooth_2 基础知识 iOS Core Bluetooth_3 用作中央设备的常用方法(1/2)[swift实现 ...

  4. Core Data 概述

    Core Data 概述 转载自: http://www.cocoachina.com/newbie/basic/2013/0911/6981.html Core Data可能是OS X和iOS里面最 ...

  5. iOS视频流采集概述(AVCaptureSession)

    需求:需要采集到视频帧数据从而可以进行一系列处理(如: 裁剪,旋转,美颜,特效....). 所以,必须采集到视频帧数据. 阅读前提: 使用AVFoundation框架 采集音视频帧数据 GitHub地 ...

  6. iOS Provisioning Portal概述

    2019独角兽企业重金招聘Python工程师标准>>> iOS Provisioning Portal概述 注意: iOS Provisioning Portal 仅可以在PC上的 ...

  7. 图层几何学 -- iOS Core Animation 系列二

    <图层树和寄宿图 -- iOS Core Animation 系列一>介绍了图层的基础知识和一些属性方法.这篇主要内容是学习下图层在父图层上怎么控制位置和尺寸的. 1.布局 首先看一张例图 ...

  8. IOS Core Image之二

    在上篇博客IOS Core Image之一中了解了下CIImage.CIFilter.CIContext三个类的使用,这篇了解下滤镜链(多滤镜)和人脸检测(不是人脸识别). 一.多滤镜 1.有些效果不 ...

  9. iOS - Core Animation 核心动画

    1.UIView 动画 具体讲解见 iOS - UIView 动画 2.UIImageView 动画 具体讲解见 iOS - UIImageView 动画 3.CADisplayLink 定时器 具体 ...

最新文章

  1. jQueryUI Repeater 无刷新删除 新建 更新数据 - JQueryElement [7]
  2. Spring实战——缓存
  3. 计算机中字长名词解释,《计算机科学概论》复习题(内含参考答案)
  4. python分析pcap文件_利用Python库Scapy解析pcap文件的方法
  5. Hadoop Ambari 安装
  6. 用 扩展事件抓取过去的死锁
  7. Android 系统开发系列一
  8. java中display1_关于displaytag1.1的两种分页
  9. 计算机硕士工资一览表,2021年计算机硕士工资一览表.doc
  10. 转载:50有用的JavaScript和jQuery技术和插件
  11. Java(十三)集合类(2)
  12. HTML如何做一张李白的静夜思,李白《静夜思》配图赏析
  13. Configure: error: C preprocessor “/lib/cpp“ fails sanity check
  14. Oracle中有dateadd吗,oracle dateadd的函数有哪些?
  15. ZLG震撼发布开源GUI引擎AWTK
  16. 卡尔曼滤波的原理与思想
  17. 研发安全环境解决方案(一):网络接入的安装和配置
  18. 【引用】SolidWorks工程图转换成AutoCAD DWG文件后字体不变
  19. 实际开发中,TCP / IP五层网络模型是如何工作的?
  20. 微积分在小学教学中如何应用

热门文章

  1. 快讯丨用于zData一体机的两款服务器率先通过3C认证
  2. 盛世昊通董车长2.0“后“积薄发,点爆汽车后市场
  3. 一起谈.NET技术,.NET十年(下)
  4. 用c语言编程写出杨辉三角,用C语言编写杨辉三角
  5. php 提交按钮失效,php - 为什么td标记内的提交按钮不起作用? - SO中文参考 - www.soinside.com...
  6. android nohttp百度百科,百度百科宣布取消扩展阅读并给外链添加nofollow标签
  7. 【neotic-moveit】CHOMP Planner
  8. MySQL学习笔记-(5)---(JDBC)
  9. 5G助威云游戏前哨战,科技公司竞逐游戏界“Netflix”名号
  10. 提供良好客户服务的5大原则