2013-08-23 50 views
5

在兩臺iOS設備(iPad-mini)之間的通信停止後,完全重啓iOS藍牙BTLE中央和外圍管理器的最佳方式是什麼?如何在通信掛起後重新啓動iPHone/iPad藍牙LE

有時幾分鐘後,我的BTLE通信停止(中央無法從外設獲得響應,儘管每個設備的調試輸出顯示應用程序仍在運行,中央應用程序仍在嘗試掃描外設,並且外設仍在廣告中),並且不會再次啓動: 停止掃描並停止播放廣告後,通訊仍然不起作用; 重新打開應用程序後,通信仍然不起作用(!); 電源循環後,iPad通信再次工作,但幾分鐘後死亡。

因此,我正在做的事情是破壞iOS核心藍牙軟件。

有時會出現來自底層BTLE層的錯誤消息。

背景: 這個系統中的每個iPad交替地工作爲中央,讀/寫數據給他人,然後作爲外設,供其他人閱讀。絕不會在同一時間,並且在轉換之間延遲1秒。

回答

4

藍牙堆棧不是iOS最強大的部分。這可能在iOS7中有所改善,但問題一直存在。你最可能在強調這個系統,以便更頻繁地發生這種情況。您應該創建一個錯誤報告並將其發送給Apple。或者創建一個TSI,作爲每年有兩個這樣的開發者。他們是唯一能夠做到的人。

爲了解決這個問題,重新啓動應用程序通常會有所幫助,但有時需要打開/關閉藍牙或最壞情況下需要重新啓動設備。不幸的是,沒有編程的方法來做任何這些。

+2

我是在iOS 7,iPhone 5s開發模式,並且經過數十/數百次啓動,連接,停止藍牙會話,藍牙才停止工作。目前爲止,只有動力循環修復了這一點。關閉和重新打開藍牙不適合我。 – portoalet

+0

在我的iPad掛起兩次數據傳輸後,我們遇到與LEB計時器設備相同的問題。 –