2014-03-03 62 views
2

的iPhone上運行iOS7扮演管理者的角色和它連接到播放外設角色的電子設備,通過[centralManager connectPeripheral:peripheral options:nil]得到iOS的centralManager:didDisconnectPeripheral電話,但設備沒有真正斷開

當我打電話[centralManager cancelPeripheralConnection:peripheral]didDisconnectPeripheral總是叫,但有時,並不總是,我知道電子設備並沒有真正斷開連接。電子設備未連接到任何其他應用程序。

有什麼想法?

+0

查看http://stackoverflow.com/questions/12958711/ios-6-bluetooth-le-disconnect –

回答

0

didDisconnectCallback之間有一個延遲,然後真正斷開連接。在iOS 6中,它曾經是幾秒鐘,在iOS 7中它更少。 cancelPeripheralConnection實際上是向操作系統表明應用程序不再使用連接的信號。然後由操作系統來決定它何時斷開連接。您可以通過啓動從外設端的斷開來規避此限制。

+0

是的,我剛剛發現自己。從我的情況來看,我需要大約7秒的連接時間,但我已經意識到狀態欄中的藍牙圖標在真正斷開連接時會變成灰色。所以對我來說,操作系統知道斷開連接是有道理的。 – Maria

相關問題