gpt4 book ai didi

ios - 核心蓝牙 : Find out if device is available for reconnection

转载 作者:搜寻专家 更新时间:2023-11-01 06:54:47 26 4
gpt4 key购买 nike

我正在尝试使用 retrievePeripheralsWithIdentifiers: 方法尝试连接到之前连接的外围设备。只有当外围设备在 iOS 设备附近时,连接尝试才会成功。

现在,我如何确定已知外围设备是否在附近并因此在不久的将来可以连接?

如果您查看 Core Bluetooth 指南 here并向下滚动到图 5.1 Apple 描述了一种可能的重新连接流程。在该图的第一列中有条件“设备可用?”什么方法或成员反射(reflect)了这种可用性?

最佳答案

“设备可用?” box 指的是 centralManager(_:didConnect:) 已被调用。如果您查看上面的框,它是“尝试连接”。如果成功,则设备可用。

这几乎总是正确的方法。不要问“这可能成功吗?”试一试。如果有效,那就有效。

如果您真的想知道附近但未连接的设备,那么您可以扫描它们是否正在使用 scanForPeripherals(withServices:options:) 做广告。然后,您可以检查发现的外围设备是否就是您要查找的外围设备。

当然,设备可能就在附近并且没有广告。它可能连接到另一台设备,在这种情况下您看不到它。它可能已连接到您的设备,在这种情况下,您需要 retrieveConnectedPeripherals 才能看到它。它可能只是没有广告(许多设备在一段时间后停止广告)。在那种情况下,如果不尝试连接到它,您将看不到它。

但通常正确的答案是,如果您已经知道该设备,就尝试连接。设置一个超时时间,如果超时了,很可能不在附近。或者不设置超时,让它尝试连接直到连接成功。

关于ios - 核心蓝牙 : Find out if device is available for reconnection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54259754/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com