2013-07-31 61 views
4

當我在連接到外圍設備時切換藍牙,我斷開和刪除了在centralManagerDidUpdateState回調中對我的外設的所有引用。當通電後重新連接時應用程序不發現服務藍牙

做另一次掃描會發現並重新連接到設備,並再次發出discoverServices,但這次回調didDiscoverServices從來沒有發生過。通過刪除所有設置(常規 - >重置 - >重置所有設置)或重新啓動它再次工作。正常斷開/重新連接也可以。我該如何解決這個問題,或以編程方式刪除iOS存儲的所有緩存和UUID?

回答

1

當您收到中央管理器狀態已更改爲CBCentralManagerStatePoweredOff的回調時,您需要遍歷所有外圍設備並在其上調用cancelConnection:。那麼你會很好去。

[_yourCentralManager cancelPeripheralConnection:yourPeripheral]; 
+0

不幸的是,它沒有奏效。它仍然沒有得到'didDiscoverServices'回調 – chwi

+0

事實上,你得到這個是你試圖取消一個外設連接上.poweredOff:[CoreBluetooth] API錯誤:只能接受這個命令,而在供電開啓狀態 – leftspin

相關問題