BLE后台扫描iOS应用程序状态



在iOS应用程序后台状态下,有任何API或第三方用于BLE通信。。?我尝试了"使用蓝牙LE配件"、"后台处理"、"背景提取"这些功能BL扫描正在工作,但广告数据包减少。应用内前台状态广告数据包增加。。如何获取最大数量的广告数据包。?我正在使用服务UUID进行扫描。

正如Rob Napier所说,在后台状态下像在前台状态下一样积极地扫描在设计上是不可能的,因为系统的资源较低,并且试图节省电力。这在苹果的核心蓝牙编程指南中有详细介绍:-

对于iOS应用程序,了解您的应用程序是否在前景或背景。应用程序在后台比前台,因为系统资源更多仅限iOS设备。

尽管您可以在应用程序中执行许多与蓝牙相关的任务是在后台,请记住,在您的应用程序在后台运行时与应用程序运行时不同在前景中。特别是,当您的应用程序正在扫描设备在后台时:

  • CBCenterManagerScanOptionAllowDuplicatesKey扫描选项键被忽略,广告外设的多个发现合并为单个发现事件。

  • 如果所有正在扫描外围设备的应用程序都在后台,则中央设备扫描广告的间隔数据包增加。因此,发现广告周边。

这些变化有助于最大限度地减少无线电使用并延长电池寿命在您的iOS设备上。

您可以在此处找到更多信息:-

  • iOS应用程序的核心蓝牙后台处理
  • iOS BLE后台扫描
  • iOS-扫描并连接到后台的BLE外围设备

最新更新