当应用程序在后台或被杀死或挂起时,iOS BLE设备已配对

时间:2018-11-14 12:00:07

标签: ios ibeacon core-bluetooth

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

3 个答案:

答案 0 :(得分:1)

可以。
首先,您可以扫描外围设备并在后台连接它们,只要它们公开至少一项服务即可(在启动scan命令时必须指出此服务)。 您必须通过选中Uses Bluetooth LE accessories在目标功能中指定它。
要检测蓝牙断开连接,您只需实现CBCentralManagerDelegate方法func centralManager(CBCentralManager, didDisconnectPeripheral: CBPeripheral, error: Error?)
只要外围设备不需要保持活动信号,连接就会在后台保持活动状态,如果您需要在后台进行某些操作,则需要进行Uses Bluetooth LE accessories检查。
为了简化使用BLE的工作,建议您检查一下library

答案 1 :(得分:1)

用于在悬浮/后台模式下支持Core-Bluetooth。请为您的应用程序提供后台支持。

转到项目->目标->功能->启用后台模式->选择“使用Bluetooth LE附件”。

但是iOS系统可能会随时杀死您的后台应用程序,以释放前台应用程序的内存。

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

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

答案 2 :(得分:0)

对于后台应用程序有限制。并非所有功能都可以在后台使用。然后,使用不合理的后台功能将应用程序发送给审核人,您将失败。

  • 在后台播放用户可听内容的应用, 例如音乐播放器应用
  • 在通话中记录音频内容的应用 背景
  • 使用户完全了解其位置的应用 时间,例如导航应用
  • 支持Internet语音的应用 协议(VoIP)
  • 需要下载和处理新内容的应用 定期
  • 从外部附件中定期接收更新的应用

Here,您将找到更多描述。 May be your case是处于“充当蓝牙LE附件”模式的“从外部附件接收定期更新的应用”。

google中,您还将找到很多信息。