【问题标题】:iOS Corebluetooth - Sometimes won't connect to a device until I do a network resetiOS Corebluetooth - 有时在我进行网络重置之前无法连接到设备
【发布时间】:2013-06-10 01:37:28
【问题描述】:

我偶尔会遇到这样一个问题,在我重置手机上的网络设置之前,我的应用无法重新连接到特定的蓝牙 LE 设备(我猜这会清除蓝牙缓存)。在这种状态下,它仍然可以正常连接到其他设备。

我能够在一段时间内没有任何问题地连接设备并发送数据,然后我点击了这个,除了重置之外似乎没有什么可以解决它。

我想知道是否有人在使用 Corebluetooth/CBCentralManager 时遇到过类似的问题并找到了解决方法?

谢谢!

【问题讨论】:

  • 我遇到了同样的事情!

标签: ios ios6 core-bluetooth bluetooth-lowenergy


【解决方案1】:

如果您的设备只是在寻找 GATT 配置文件中指定的特定服务/特征,则可能是问题所在。无论出于何种原因,Apple 在他们的文档中都没有提到蓝牙会自动缓存 GATT 配置文件,直到蓝牙关闭并重新打开。因此,如果您正在更改 LE 设备上的 GATT,并且您的手机正在寻找 GATT 中的特定内容,它可能无法找到您的设备。不幸的是,我认为没有办法以编程方式清除缓存,因此您仍然需要手动重置蓝牙。

但是,如果您不更改 GATT 配置文件,则上述整个段落不适用于您 =P 我要记住的是蓝牙 LE 是“奴隶”(或者,苹果称之为外围设备)一次只能有一个连接。因此,您的 LE 设备可能会无意中连接到其他设备,因此您的应用无法找到它。这甚至可能是您手机上的一个应用程序 - 可能您的应用程序已连接但未显示,或者(如果您正在测试多个应用程序)另一个应用程序已连接到它。

【讨论】:

    猜你喜欢
    • 2022-01-22
    • 2013-07-21
    • 1970-01-01
    • 1970-01-01
    • 2019-10-09
    • 1970-01-01
    • 1970-01-01
    • 2013-10-13
    • 1970-01-01
    相关资源
    最近更新 更多