2012-03-16 65 views
0

我使用UIDocumentInteractionController在應用程序中預覽文檔。但是,有時文檔顯示正常,其他時候交互控制器顯示消息「閱讀文檔時出錯」。我知道這不是文檔的問題,因爲相同的文檔有時會顯示,有時不顯示。UIDocumentInteractionController - 讀取文檔時出錯

重新啓動設備暫時解決了這個問題 - 所以它似乎是一個內存問題,但奇怪的是我沒有得到任何內存警告。關於如何使這個工作可靠的任何想法嗎?

注:

  1. 的documentinteractioncontroller預覽解僱,當完成,以確保前預覽發佈 控制器不 保留在內存中
  2. 我使用QuickLook的控制器
有同樣的問題

回答

1

經過多次測試後,此問題僅限於iPad 1.唯一的解決方法是重新啓動。

0

由於您認爲相關文檔是正確的,並且您認爲您的代碼是正確的,所以您必須開始尋找其他因素。兩個想到的是:

  • 應用程序的狀態。是否有可能阻止預覽工作的應用程序當前狀態?你提到你沒有得到任何內存警告,但是你看過預覽成功和失敗時應用使用了多少內存?

  • 文檔的狀態。是否有可能由於某種原因文件無法打開,例如文件已被打開?你能用其他方式打開文件嗎?

+0

我還沒有檢查應用程序使用多少內存時,因爲我認爲應該使用太多的內存,我會得到一個內存警告。即使內存使用率很高,我也沒有辦法改進它,因爲在呈現交互控制器預覽之前,除了rootvc之外,該應用程序會取消所有視圖。 (我已經檢查過泄漏了)。至於第二個建議,我不認爲它與文檔的狀態有關 - 原因是當在另一個應用程序中選擇「在MyApp中打開」時會預覽文檔,這會導致iOS將其寫入到沙盒目錄中 – RunLoop 2012-03-19 05:35:59

0

您的應用程序可能在os完成將其寫入沙盒目錄之前嘗試顯示該文檔。此操作的速度將取決於背景中的其他內容(其他應用程序,電子郵件下載,iOS檢查更新等)。這也可以解釋爲什麼重啓設備似乎可以暫時解決問題。

要檢查此問題,您可以檢查此錯誤,然後在幾秒鐘後再次嘗試打開文檔。

沒有特定的代碼或日誌,很難說更多。