当应用程序处于后台或被终止或挂起时,iOS可扩展设备配对

当应用程序处于后台或被终止或挂起时,iOS可扩展设备配对,ios,ibeacon,core-bluetooth,Ios,Ibeacon,Core Bluetooth,当应用程序打开时,我可以将BLE设备与我的应用程序配对/连接。但当我的应用程序进入后台/挂起模式时,我无法保持连接活动。 是否可以保持连接处于活动状态并收到设备断开连接事件的通知?对于后台应用程序,存在限制。并非所有函数都可以在后台使用。然后,您将应用程序发送到具有不合理后台功能的仲裁,您将失败 在后台向用户播放音频内容的应用程序, 例如音乐播放器应用程序 在中录制音频内容的应用程序 背景 让用户随时了解其位置的应用程序 时间,例如导航应用程序 支持互联网语音的应用程序 协议(VoIP) 需要

当应用程序打开时,我可以将BLE设备与我的应用程序配对/连接。但当我的应用程序进入后台/挂起模式时,我无法保持连接活动。
是否可以保持连接处于活动状态并收到设备断开连接事件的通知?

对于后台应用程序,存在限制。并非所有函数都可以在后台使用。然后,您将应用程序发送到具有不合理后台功能的仲裁,您将失败

  • 在后台向用户播放音频内容的应用程序, 例如音乐播放器应用程序
  • 在中录制音频内容的应用程序 背景
  • 让用户随时了解其位置的应用程序 时间,例如导航应用程序
  • 支持互联网语音的应用程序 协议(VoIP)
  • 需要下载和处理新内容的应用程序 定期
  • 从外部附件接收定期更新的应用程序
你会发现更多的描述。是“从外部附件接收定期更新的应用程序”,具有“充当蓝牙LE附件”模式

您还可以在中找到大量信息。

当然可以。
首先:您可以扫描外围设备并在后台连接到它们,只要它们公开至少一个服务(启动scan命令时必须指示此服务)。 您必须在目标功能中指定,只需选中“使用蓝牙LE附件”,
要检测蓝牙断开连接,您只需执行
CBCentralManagerDelegate
方法
func-centralManager(CBCentralManager,didDisconnectPeripheral:CBPeripheral,error:error?

只要您的外设不需要保持活动状态信号,连接在后台保持活动状态,如果您需要在后台执行某些操作,则需要检查
使用蓝牙LE附件。

为了简化使用BLE的工作,我建议您查看此项。

要在挂起/背景模式下支持核心蓝牙,请启用您的应用程序以获得背景支持

转到您的项目-->目标-->功能-->打开后台模式-->选择使用蓝牙LE附件。

但iOS系统可能会随时关闭您的后台应用程序,以便为前台应用程序释放内存

要获取连接/断开连接的事件,请使用以下代码行

central.connect(peripheral, options: [CBConnectPeripheralOptionNotifyOnConnectionKey:true, CBConnectPeripheralOptionNotifyOnDisconnectionKey: true])