2011-11-02 61 views
7

首先,我看過這些:iOS5數據存儲問題。在哪裏保存文件?

(1)http://www.gaiagps.com/news/article/iOS5%20Breaks%20Data%20Storage%20and%20Crushes%20My%20Soul

(2)http://iphoneincubator.com/blog/data-management/local-file-storage-in-ios-5

(因爲我是一個菜鳥,我不能提交兩個以上的超鏈接)

以及apple.com上的所有相關開發人員論壇主題。

問題:使用新的iOS5,我們需要將文件保存到/ Caches文件夾,並且只保存用戶生成的文件到/ Documents文件夾。即使應用程序未運行,應用程序更新或系統還原,緩存文件夾也可能會意外刪除。在意想不到的時間刪除是令我們擔憂的。

我仍然對同一個問題開個問題的原因是問:

。如果我缺少任何東西。就好像這個問題有更新,而我是唯一一個沒有聽到它的人。來自第一個鏈接(gaiagps)的人抱怨說他們的應用被拒絕了,但是他的下一篇博客文章告訴他們的應用數據現在可以安全刪除了。

。將數據保存到/ Documents(即使它們很大 - 破壞iCloud用戶體驗),使用新組件UIDocument並將其與iCloud存儲同步,可以嗎?

我想正確地開發應用程序,以便在我第一次提交應用程序時(如果可能)接受應用程序審閱,以避免任何延遲。所以我問的是,在iPad中保存數據的位置,以便它不會被刪除?

回答

2

這裏要記住幾個關鍵點...

  1. 的文件目錄是不能被輕易重新或下載文件。例如,如果某個應用程序將一些常用文件下載到用戶設備,則該文件目錄中應該有而不是,因爲它不是特定於用戶的,並且可以輕鬆地重新下載。

  2. 創建特定於用戶且可能難以重新創建的項目應將存儲在文檔文件夾中,例如通過用戶輸入或編輯創建的PDF。

  3. 在文件目錄中的任何文件都將被列入後備,不管是到iTunes或到iCloud這樣存儲的文件目錄過於大文件是很可能會打亂你的用戶。

+0

謝謝你的迴應。我的應用程序將下載PDF,視頻等文件可以重新下載,但問題是,當用戶沒有互聯網連接並且想要使用他們存儲的文件時,它不會以任何方式重新下載。這些文件也會很多,這可能會被應用程序評論拒絕,因爲「它存儲了很多文件到文檔」。這是公司工作人員爲了向客戶展示演示文稿而使用的應用程序,因此他們不會抱怨itunes同步。他們會抱怨的是,他們的下載數據被意外刪除。 – typeiierror

+0

不幸的是,你描述的項目應該存儲在緩存目錄中,但我們知道這不再像以前那樣可靠。我希望**希望操作系統足夠智能以便僅**在執行iCloud備份時清除緩存目錄,因此當用戶具有互聯網連接但能夠確定何時需要重新下載是大事件。 :( –

+0

我會在啓動時檢查網絡連接(以及當前沒有所需文件的地方)。當用戶存儲空間不足時,緩存**可能會消失,因此當您啓動並且文件已經消失時,提醒用戶爲什麼,你應該是好的 –

1

您應該只將用戶生成的文檔保存在Documents文件夾中。應用程序生成的數據通常進入庫目錄的子目錄或tmp用於存儲短期數據。

如果您需要確保您的應用程序生成的數據不會自動清除,您可以使用「應用程序支持」目錄。

A已經提供了對類似問題here更詳細的答案。

+0

感謝您的迴應。我已經從蘋果論壇上了解到,應用程序支持目錄也是由iCloud備份的,這也可能是理由被拒絕,因爲它可能會破壞'iCloud用戶體驗'。 – typeiierror

1

我有同樣的問題,我的應用程序和蘋果拒絕我的應用程序,因爲我是我的存儲數據導入/文件目錄;

以下是我在博客文章中記錄的發現; http://aasims.wordpress.com/2012/02/02/storage-issue-with-ios-5-and-icloud/

+1

鏈接到博客文章i絕對沒問題。但是,如果你可以在這裏總結它,這將是有幫助的。然後,即使您的博客因任何原因不再可用,您的答案也不會失效。總結會很好,在您的博客中有更多詳細信息。 – Bart