将 iOS 应用程序重新连接到配对的蓝牙设备?

Reconnecting an iOS app to a paired BlueTooth device?

如您所知,在一段时间不活动后,蓝牙设备将与 iPhone 断开连接。然后,用户将不得不返回“设置”以重新连接设备。

1 - iOS 应用程序(当它进入前台时)是否可以在没有任何用户输入的情况下强制重新连接到已配对的蓝牙设备?

2 - 是否可以强制重新连接到已配对的蓝牙设备,但在来自 iBeacon 信号(匹配 UUID)的应用程序唤醒状态期间?

  1. 是的,您可以使用 CoreBluetooth API 连接到蓝牙 LE 设备,无需用户输入。它不必像 Bluetooth Classic 设备那样 "paired"。为此,蓝牙 LE 设备应公开移动应用程序可以识别的 GATT 服务 UUID,当它发现此服务 UUID 时,它可以简单地以编程方式连接。

  2. 当您使用 CoreLocation API 根据 iBeacon 检测唤醒您的应用程序时,该应用程序会暂时启动到后台。您可以向用户发送本地通知,以尝试让用户点击它并将应用带到前台,但如果用户不点击,应用后台规则仍然适用。

结合#1 和#2,您应该了解 Apple 在后台使用 CoreBluetooth 的规则。请参阅 The bluetooth-central Background Execution Mode 的 Apple 文档。如果您获得适当的应用程序权限,则可以在后台建立连接。