1

我已将 macOS 更新为 High sierra 并将 Xcode 更新为 9.2。我正在处理 BLE 设备连接/断开连接和读取数据。它在 Xcode 8.2 中运行良好,现在 CoreBluetooth 框架发生了变化。

CBPeripheralStateDisconnecting在外围状态中添加了一个新状态。CBPeripheralStateConnecting现在,我也需要从状态中取消与 BLE 设备的连接的功能。

我已经使用cancelPeripheralConnection:方法取消连接。此方法后设备状态变为CBPeripheralStateDisconnecting且永远不会进入状态CBPeripheralStateDisconnected。我尝试再次连接,但状态仍然没有改变。

简而言之,BLE 设备状态在CBPeripheralStateDisconnecting状态之后永远不会改变。请任何人都可以建议一种方法吗?

提前致谢。

4

1 回答 1

0

我通过将 CBPeripheralStateDisconnecting 和 CBPeripheralStateDisconnected 状态视为相同来解决问题。在 CBPeripheralStateDisconnecting 上实现了与 CBPeripheralStateDisconnected 相同的流程,即再次向设备发送连接请求并且它工作正常。

于 2018-01-17T05:40:25.433 回答