我们的 BLE 设备正在使用 ANCS 并作为 ios 应用程序中的外围设备进行连接。我的问题是,当 watch 首先在设置屏幕中连接时,它不会显示在扫描的设备中,这就是为什么它在应用程序处于后台时无法连接的原因,因为它在应用程序外部连接,原因是 iphone 与 ble 设备绑定(bind)。 虽然我可以使用 retrievePeripheral function 检索它。但它必须手动触发,我正在寻找某种观察者或委托(delegate)函数,当通过系统调用 BLE 设备时会调用该函数,以便我可以检索外设。 当应用程序在后台并且 BLE 设备首先在“设置”中连接时,如何进行连接? 我想到的一个解决方案是运行一个计时器,它将在固定的时间间隔后调用此retrievePeripheral函数,但这会消耗电池。如果有人有更好的想法请赐教。
我几乎尝试了所有方法,我知道扫描功能可以在后台使用服务 ID 运行,但我谈论的是设备无法被发现的情况,因为它首先在设置屏幕中连接。
最佳答案
一旦发现、连接并成功配对,我似乎不需要扫描设备。 在 didDisconnect 函数中,我正在检索 ble 设备并发送连接请求 See this ,这个函数不会超时。每当 BLE 设备进入范围时,它就会被连接。
关于ios - 当应用程序在后台且在 ios 系统中首先连接时,如何知道何时检索连接的 ble 设备?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53321747/