2009-10-28 180 views
3

我正在使用免費的應用程序來計算挪威高中學生的成績。不同的主題存儲在一個sqlite數據庫。一切工作正常,除了一件事:如果我關閉應用程序並快速重啓(比一秒鐘快),它崩潰。此外,只有在特定情況下關閉應用程序(包括選擇/檢查UITableView中的主題(這些更改會立即存儲在數據庫中)),纔會發生這種情況。無論如何,如果我在重新啓動應用程序之前等待超過一秒鐘,它永遠不會崩潰。快速退出時應用程序崩潰+重新啓動

在控制檯窗口中沒有以任何方式跟蹤錯誤。

儀器在我的應用程序中發現了一些內存泄漏,但它們非常小(16字節)。我認爲這不是墜機的原因(但我會盡力阻止泄漏)。我也嘗試刪除並重新安裝應用程序,並打開和關閉iPod/iPhone。沒有變化...

據我所知,我不能要求任何人在我的應用程序的廣泛的代碼中找到錯誤。我給你們的問題是:

  1. 有沒有人遇到類似的錯誤?與sqlite相關?
  2. 您認爲App store會否因此拒絕該應用?
  3. 有沒有人有任何想法從哪裏開始尋找錯誤?

我非常感謝任何迴應!

+0

我有同樣的問題。這有什麼好運? – 2012-03-23 10:57:01

+0

你有沒有機會使用Flurry分析SDK? – 2012-04-09 17:45:39

回答

2

當你說「它崩潰了」時,你在手機上獲得的實際錯誤是什麼?這是真正的崩潰,還是你得到了「未能及時發佈錯誤?」

在iPhone上,應用程序的主線程有可能在仍然運行後臺非獨立線程時終止。從這個意義上說,儘管你不能在後臺運行所有的聲明,但你實際上可以......幾秒鐘。當主線程終止時,您將返回到Springboard,並且如果操作系統沒有自行終止,最終操作系統會終止您的進程。你是否在後臺線程上管理你的任何sqlite工作?你是否創建了任何非分離的線程(這通常需要pthreads,所以如果你不知道,你可能不會,但sqlite可能;檢查儀器)。

您的最後一個實例可能仍然對您的數據庫有鎖定,並且您的重新啓動對該鎖反應不佳。你有沒有適當的錯誤處理?

+0

如果您回答自己的問題,那麼其他已回答的人將不會收到通知。如果您想評論某些內容,請使用「添加評論」。要訪問堆棧,請打開Xcode中的管理器(Cmd-Ctrl-O),選擇設備,然後選擇崩潰日誌。 – 2009-11-02 14:06:49