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

标签 ios swift bluetooth-lowenergy ancs

我们的 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/

相关文章:

ios - AppList 数据源在 -[NSIndexPath row] 中断言失败

android - 移动应用程序与服务器持续同步

android - 如何设置 BLE 通告数据包的设备名称字段

linux - 有没有办法在兼容蓝牙 2.0 的情况下运行 iBeacon。设备?

objective-c - 子类化和 "promote"对象

ios - 如何使用 AVFoundation 捕获静态图像并使用 Swift 在另一个 View Controller 中显示图像

ios - Swift 崩溃 - SIGABRT - 还有如何跟踪崩溃

arrays - swift/电视操作系统 : Complex Arrays with multiple strings?

ios - 无法发现外围蓝牙低功耗设备

objective-c - IOS:使用 UIAlert 的 cancelButtonTitel 删除 subview