外设始终状态连接,升级到IOS后永远不会连接11

外设始终状态连接,升级到IOS后永远不会连接11

问题描述:

我在IOS应用中使用CoreBluetooth,在升级IOS版本后,中央管理器无法连接到外设,也没有显示任何错误。 开始TE过程以连接在我收到此值从装置:外设始终状态连接,升级到IOS后永远不会连接11

CBPeripheral:0x1c0106e40,标识符= BE2B06BF-F385-82AC-95E6-65EA1CF8B11F,名字= icomon,状态=断开

和后我尝试连接到所述设备状态的变化:

CBPeripheral:0x1c411bea0,标识符= BE2B06BF-F385-82AC-95E6-65EA1CF8B11F,名字= icomon,状态=连接

没有什么更多,接下来什么也没有发生,我没有收到中央管理器的任何数据,设备状态也没有改变。

+0

请[edit](https://stackoverflow.com/posts/46366577/edit)显示相关代码 – Paulw11

我正在努力解决具有完全相同症状的问题。希望这是同样的问题,这个回应是有帮助的。

在我的情况下,问题是由连接层控制PDU引起的,我的设备在建立连接后立即发送。具体来说,我正在运行Apache Mynewt(http://mynewt.apache.org/),并且其NimBLE控制器在建立连接后立即启动功能交换过程。由于我的设备是外设,而iOS 11设备是中央设备,因此我的设备会发送LL_SLAVE_FEATURE_REQ PDU。

我不知道它是涉及的时间还是PDU本身,但无论如何,iOS设备都不会在功能交换后发送任何应用层数据。当我更改NimBLE以使其不启动功能交换时,设备询问正常进行,并且调用CoreBluetooth连接的回调。