swift 在后台模式下连接外设(Core Bluetooth)

5m1hhzi4  于 2024-01-05  发布在  Swift
关注(0)|答案(1)|浏览(185)

我试图实现以下场景:

  • 打开应用程序并连接到BLE外设。* 工作 *
  • 将应用程序发送到后台并保持连接。* 工作中 *
  • 关闭BLE外设,应用程序会收到断开连接的通知。* 工作中 *
  • 打开BLE外设,应用程序会收到断开连接的通知。* 工作中 *
  • 再次关闭BLE外设。* 工作 *
  • 在应用程序处于后台的情况下等待2天,然后打开BLE外设,但应用程序什么也不做。* 不工作 *

我如何才能实现这最后一步?iOS在需要时会杀死后台应用程序,但是否有一种方法可以在发现之前连接的外围设备时获得通知?我读了一些关于CB状态恢复的内容,但我真的不知道这是否会解决这种情况。

hm2xizp9

hm2xizp91#

核心蓝牙状态保存/恢复正是您想要的。如果您的应用程序被挂起,它将在外围设备连接/断开连接或通知到达时启动您的应用程序。然而,它被设计为如果蓝牙出于任何原因重新启动,您的应用程序将停止唤醒。例如蓝牙崩溃(偶尔会发生),如果用户切换蓝牙或飞行模式,或者如果手机重新启动。

相关问题