我们可以使用蓝牙重新连接断开的外围设备而无需再次扫描 ios
Posted
技术标签:
【中文标题】我们可以使用蓝牙重新连接断开的外围设备而无需再次扫描 ios【英文标题】:can we reconnect disconnected peripheral using bluetooth without scanning again ios 【发布时间】:2014-11-07 10:08:29 【问题描述】:我正在 ios 设备和硬件之间进行通信。如果我的 iOS 应用程序和硬件使用 BLE 连接并建立了连接。如果硬件超出范围或连接出现任何问题,则 iOS 应用程序将自动重新检查可用设备,如果 iOS 应用程序之前已配对硬件设备,则将尝试自动重新连接。我应该怎么做才能执行这样的任务。我已经浏览了许多链接,他们描述的是调用did retrieve connected peripherals
方法,但是通过调用这个方法,它会自动连接吗?
【问题讨论】:
【参考方案1】:是的,您可以通过将连接命令排队到该外围设备来重新连接已断开连接的外围设备。它会一直持续到您的应用程序连接到外围设备,此时 didConnectPeripheral 将被调用。无需扫描。
【讨论】:
我应该在断开连接时调用连接命令吗?一旦硬件进入范围,它会自动连接吗?或者我必须做任何事情才能让它再次连接 是的,我之前已经这样做了,一旦您将连接命令排队,您的应用应该会重新连接。 我很困惑它是否会自己调用 did retrieve connected peripherals 方法?我应该在哪里排队连接命令?在没有断开?是否需要“是否检索连接的外围设备”方法? 不应该。如果您查看文档,它会说回调 didRetrieveConnectedPeripherals 是返回retrieveConnectedPeripherals 调用的结果。如果您不进行retrieveConnectedPeripherals 调用,则不会调用didRetrieveConnectedPeripherals。是的,你可以把它放在 didDisconnect 中。这将排队一个连接命令并立即尝试重新连接,或者如果您不在范围内,它将在您回到范围内时连接。 我应该使用“didRetrieveConnectedPeripherals”还是“retrieveConnectedPeripheralsWithServices:(NSArray *)”哪个更可行?并感谢您的帮助。它解决了我的疑惑。以上是关于我们可以使用蓝牙重新连接断开的外围设备而无需再次扫描 ios的主要内容,如果未能解决你的问题,请参考以下文章
核心蓝牙:如果重新安装应用程序而没有在应用程序中正确断开BLE设备,则无法再次在应用程序中找到BLE设备
iOS 蓝牙检索外设导致 EXC_BAD_ACCESS 崩溃
CoreBluetooth:检索多个断开连接的外围设备的正确方法是啥?