2011-11-02 112 views
4

我的東西在每個應用程序文件夾恰好應用數據理解什麼概述如下,有人可以證實我是正確的,如果不,在哪裏可以找到Apple文檔。我無法找到足夠的信息進行驗證。恰好數據在iOS應用程序時,新的應用程序版本升級和新的iOS版本升級

我的理解是在當用戶升級自己的iOS會發生什麼數據限制。 iTunes/iCloud備份的文件夾中的數據是數據的唯一安全位置嗎?一旦用戶升級他們的iOS,/ Tmp和/ Library/Caches中的含義數據將不會存在於那裏?

/文件:

  • ,iOS將通過iTunes/iCloud的備份數據?是
  • iOS的保證後,新的應用程序版本發佈數據恢復?是的
  • iOS保證iOS升級後的數據恢復?是

/庫:

  • ,iOS將通過iTunes/iCloud的備份數據?是的
  • iOS保證新應用程序版本發佈後的數據恢復?是的
  • iOS保證iOS升級後的數據恢復?是

/圖書館/緩存:

  • ,iOS將通過iTunes/iCloud的備份數據?沒有
  • iOS的保證後,新的應用程序版本發佈數據恢復?是的
  • iOS保證iOS升級後的數據恢復?沒有

/庫/首選項:

  • ,iOS將通過iTunes/iCloud的備份數據?是
  • iOS的保證後,新的應用程序版本發佈數據恢復?是的
  • iOS保證iOS升級後的數據恢復?是

/TMP:

  • ,iOS將通過iTunes/iCloud的備份數據?沒有
  • iOS的保證後,新的應用程序版本發佈數據恢復?否
  • iOS保證iOS升級後的數據恢復?沒有
+0

,你的編程問題是? – KevinDTimm

+0

如果我不得不猜測它是「這是正確的嗎?」 –

回答

1

這大致正確,但iOS5中後,圖書館/緩存的內容可以隨時刪除,如果操作系統決定了它的運行磁盤空間不足,所以這是一個壞主意來存儲任何東西在那裏長期。

如果要將緩存數據永久存儲在設備上,但沒有將其備份到iCloud,則會有一個名爲NSURLIsExcludedFromBackupKey的新屬性,可以設置在庫或文檔中任何位置的文件或文件夾中,以防止它從備份到iCloud。

我已經寫了管理NSURLIsExcludedFromBackupKey你一個簡單的庫,並提供常數所有這些文件夾中有更有意義的名稱,以便更容易記住使用哪些爲此目的:

https://github.com/nicklockwood/StandardPaths

+1

一個評論 - 在應用程序升級時,所有絕對路徑都會更改,因爲該應用程序已移至其他文件夾。 – Sulthan

+0

是的,的確如此。您不應將這些路徑保存在文件或NSUserDefaults中,如果您需要訪問先前保存的文件,則應始終再次調用該方法以重新生成路徑。 –