iOS 配对设备重连代理

Posted

技术标签:

【中文标题】iOS 配对设备重连代理【英文标题】:delegate of iOS paired device reconnection 【发布时间】:2018-01-17 09:39:28 【问题描述】:

我有一个应用程序使用retrieveConnectedPeripheralsWithServices 来获取配对HID devices 的列表。我可以使用connectPeripheral 代码获取列表并成功连接到所需的列表。连接成功后,将调用以下委托:

- (void)centralManager:(CBCentralManager *)central didConnectPeripheral:(CBPeripheral *)peripheral

对于断开连接,我得到了相应的委托:

- (void)centralManager:(CBCentralManager *)central didDisconnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error

现在,当HID device 再次连接到 ios 时(直接来自设置,而不是来自我的应用程序),我希望得到通知。有什么方法可以查明HID device 何时重新连接到操作系统?

【问题讨论】:

只需在didDisconnectPeripheral 中启动一个新连接。当外围设备回到范围内时,您的连接将完成 @Paulw11 有保证吗?我的意思是,我可以通过这个解决方案获得连接吗? 【参考方案1】:

终于,我找到了答案。

感谢@Paulw11 的指导,基于Apple Documentation:

当用户离开家时,iOS 设备最终可能会超出锁的范围,从而导致与锁的连接丢失。此时,应用程序可以简单地调用 CBCentralManager 类的 connectPeripheral:options: 方法,由于连接请求不会超时,iOS 设备会在用户回家了。

【讨论】:

以上是关于iOS 配对设备重连代理的主要内容,如果未能解决你的问题,请参考以下文章

EasyNVR现场设备离线后无法自动重连如何优化?

Socket.IO-client.java 反复断开重连

失败,开始重连.错误代码为iVMS-4200.EXE[302]?

RabbitMQ 消费者断线重连

uniapp websocket原生服务(自动重连心跳检测) Ba-Websocket

微信小程序蓝牙连接硬件设备并进行通讯,小程序蓝牙因距离异常断开自动重连,js实现crc校验位