当应用程序处于后台并且它在 ios 系统中首先连接时,如何知道何时检索连接的 ble 设备?

How to know when to retrieve connected ble device while app is in background and its connected first in ios system?

我们的 BLE 设备正在使用 ANCS 并作为外围设备连接到 ios 应用程序中。我的问题发生在手表首先在设置屏幕中连接然后它没有出现在扫描的设备中这就是为什么它在应用程序处于后台时不连接因为它在应用程序外部连接,原因是 iphone 被绑定带蓝牙设备。 虽然我可以使用 retrievePeripheral function 检索它。但它必须手动触发,我正在寻找某种观察者或委托函数,当通过系统调用 BLE 设备时调用它,以便我可以检索外围设备。 如何在应用程序处于后台并且首先在设置中连接 ble 设备时连接? 我考虑的一个解决方案是 运行 一个计时器,它将在固定间隔后调用此 retrievePeripheral 函数,但这会消耗电池。如果谁有更好的想法请赐教。

我几乎尝试了所有方法,我知道扫描功能在后台使用服务 ID,但我说的是设备无法被发现的情况,因为它首先在设置屏幕中连接。

似乎我不需要在发现、连接并成功配对后扫描设备。 在 didDisconnect 函数中,我正在检索 ble 设备并发送连接请求 See this,此函数不会超时。只要 BLE 设备进入范围,它就会被连接。