2017-07-07 49 views
0

我正在開發類似於應用程序的導航。對於位置管理器來說,它可以很好地在前景和背景中獲取設備的當前位置。iOS應用程序在後臺運行2分鐘後死於「來自調試器的消息:由於信號9而終止」

在前景中,它可以很好地工作。但是,當應用程序進入後臺模式時,最初位置管理器運行良好。但大約2分鐘後,應用程序退出,控制檯顯示錯誤消息:「來自調試器的消息:由於信號9而終止。」

我搜索了錯誤信息,但仍找不到解決方案。 Quitting app causes error "Message from debugger: Terminated due to signal 9"

我注意到CPU使用率非常高,在背景模式下約爲105%。這可能是操作系統發送KILL信號的原因。但即使我降低了位置管理者的準確性(但爲了導航的目的,我仍然需要最高的準確度),問題仍然存在。

所以我真的好奇那些健身應用如何設法在後臺追蹤用戶的位置不久被操作系統殺死。

+0

對於有類似問題的人。我通過使用這些工具解決了這個問題,並且我在導航堆棧中發現了一個viewController的簡單動畫,該導航堆棧尚未終止。在後臺VC堆棧中的一個簡單的動畫,以某種方式導致CPU使用率達到100%。 –

+0

你有沒有得到任何解決方案?我在iOS 11.2.6版本中遇到同樣的問題。 –

回答

0

我覺得你的問題是,由於這是每秒鐘刷新一次,即使應用程序在後臺

爲了防止應用程序被殺死,而在後臺,停止做用的東西高CPU複雜的圖形用戶界面,就像渲染圖像一樣,當應用程序處於後臺模式時。

+0

謝謝!是的,我發現除了獲得新的位置之外,該應用還做了很多其他的事情。 –

相關問題