0

我在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

回答

0

我正在努力解決具有完全相同症狀的問題。希望這是同樣的問題,這個迴應是有幫助的。

在我的情況下,問題是由連接層控制PDU引起的,我的設備在建立連接後立即發送。具體來說,我正在運行Apache Mynewt(http://mynewt.apache.org/),並且其NimBLE控制器在建立連接後立即啓動功能交換過程。由於我的設備是外設,而iOS 11設備是中央設備,因此我的設備會發送LL_SLAVE_FEATURE_REQ PDU。

我不知道它是涉及的時間還是PDU本身,但無論如何,iOS設備都不會在功能交換後發送任何應用層數據。當我更改NimBLE以使其不啓動功能交換時,設備詢問正常進行,並且調用CoreBluetooth連接的回調。