Wuj*_*ujo 5 ios core-bluetooth
我们的 IOS 应用程序通过 BLE 与某些设备(Intel NUC)进行通信,写入一些特征。我们使用加密的特征,在我们第一次写入特征时强制系统配对。
同一设备上的另一个软件是使用经典 BT 同步联系人(电话簿访问配置文件)并将音乐从 iPhone 传输到英特尔 NUC。这还需要系统配对(与 BLE 连接所需的系统分开)。
一旦设备针对 BLE 和经典 BT 配置文件(两个单独的配对过程)进行配对,一切都会正常工作。当我们从系统 BT 设置中手动断开与外围设备的连接时,或者更糟糕的是,通过将 iPhone 置于 NUC 设备的范围之外时,就会出现问题。如果我们回来,设备在 BT 设置中保持断开连接,以便两台设备都在范围内。这应该不是问题,因为我们已配对进行 BLE 通信,因此我们应该能够与当前已断开连接但在范围内的设备进行连接。然而,当尝试通过 BLE 连接时,我们收到错误:
Domain=CBATTErrorDomain Code=14“对等点删除了配对信息” UserInfo={NSLocalizedDescription=对等点删除了配对信息}
我们连接到从CBCentralManager.retrievePeripherals(:withIdentifiers)方法返回的设备
一旦我们在系统 BT 设置中手动连接,一切都会重新开始工作。
我们尝试使用传递给 CBCentralManager.connect() 方法的 CBConnectPeripheralOptionEnableTransportBridgingKey 标志,但情况变得更糟。经典 BT 配置文件的系统配对存在问题,即使我们设法以某种方式做到这一点,也会通过 BLE 超时进行连接。
知道问题的原因是什么吗?
小智 4
在您的情况下,外围设备正在删除配对信息(由用户或从 BLE)。可能与外围设备固件有关。此错误“Domain=CBATTErrorDomain Code=14“对等点已删除配对信息”UserInfo={NSLocalizedDescription=对等点已删除配对信息}”在 iOS(<13) 中不可用。在 iOS (13+) 中,您可以处理或向用户显示有关已删除配对信息的警报消息。这样,至少用户可以了解为什么外围设备无法与中央设备建立绑定。
示例:对等方删除了配对信息。打开蓝牙设置并忘记设备后再重新连接等。否则用户会感到困惑。
| 归档时间: |
|
| 查看次数: |
4022 次 |
| 最近记录: |