日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[ios2]苹果iOS 5限制应用本地存储问题 【转】

發布時間:2024/1/17 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [ios2]苹果iOS 5限制应用本地存储问题 【转】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

蘋果?iOS 5?系統增加了一個新的機制——在設備容量空間不足的情況下自動清除高速緩存文件或臨時目錄的內容。這意味著,如果你設備的容量快到極限了,應用存儲的很多離線內容,包括文章、雜志、圖書、漫畫以及其他數據都將被清空!如果用戶需要,將不得不重新下載這些內容。

  關于蘋果 iOS 5 的這次“變革”,困擾了不少開發者。新規則實施之后,用戶想使用離線數據將會有很多困難,而且也有開發者反應他們的應用通不過蘋果應用審核團隊的審核。關 于這次更新的討論非常“火熱”,當然也是相當雜亂,因為其中參雜了好幾個問題,簡單的歸納就是:

  • 緩存和臨時文件夾的語義問題
  • 蘋果相關文件的變化
  • 應用審核被拒
  • iTunes 和 iCloud 到底備份了哪些內容
  • iOS 5 行為變化
  •   下面我們來分開討論以上5個問題:

      1.緩存和臨時文件夾的語義問題

      雖然蘋果應用使用的臨時文件夾同跟目錄下的 /tmp 并非同一個文件夾,但是開發者不應該認為它們有什么顯著的差別,他們都是臨時文件夾,所以性質相同。如果你有過 OS X 、Unix 或 Linux 背景,你應該能理解,蘋果其實沒有義務向用戶保證緩存和臨時文件到底能保存多久。

      即使你以前從來沒有聽說過臨時文件夾和緩存文件夾里面的東西會被系統刪除這種情況,也不代表這個情況將來會有所改善,特別是蘋果已經在文件中申明這些。

      2.蘋果相關文件的變化

      最晚到2011年6月29日的時候,iOS發布之前,蘋果的文件(web.archive.org存檔,被墻)中涉及到<Application_Home>/Documents? 的部分是這樣描述的:

    Use this directory to store user documents and application data files.

    使用這個文件夾來存儲用戶文件和應用數據文件。

      這個說明相當容易理解,這也很清楚的說明了為什么開發者對 iOS 5 中文件目錄規則的改變不滿。

      關于<Application_Home>/Library/Caches 是這樣說明的:

    Use this directory to write any application-specific support files that you want to persist between launches of the application or during application updates. Your application is generally responsible for adding and removing these files. It should also be able to re-create these files as needed because iTunes removes them during a full restoration of the device.

    使用這個文件夾來寫應用在運行期間和更新期間需要用到的任何文件。你的應用必須負責好添加和刪除這些文件。而且這些文件應該是可以被重建的,因為 iTunes 會在還原設備備份的時候刪除這些文件。

      這段說明中的措詞,不可否認是比較模糊的。讀這段說明的時候我的第一印象就是蘋果在 iOS 5 中實施了一些與本條款相矛盾的根本性改變。但換個角度來說,通過”generally” 和 “able to re-create” 這些字眼,可以明顯看出蘋果基本上就是在警告開發者系統將怎么對待這些文件了。

      iCloud 數據存儲準則(需登錄查看) 這樣說明:

      To ensure that backups are as efficient as possible, be sure to store your app’s data according to the following guidelines:

    1. Only documents and other data that is user-generated, or that cannot otherwise be recreated by your application, should be stored in the <Application_Home>/Documents directory and will be automatically backed up by iCloud.

      2. Data that can be downloaded again or regenerated should be stored in the <Application_Home>/Library/Caches directory. Examples of files you should put in the Caches directory include database cache files and downloadable content, such as that used by magazine, newspaper, and map applications.

      3. Data that is used only temporarily should be stored in the <Application_Home>/tmp directory. Although these files are not backed up to iCloud, remember to delete those files when you are done with them so that they do not continue to consume space on the user’s device.

    譯者:為了保證數據備份的可能性和有效性,請確保你的應用數據符合以下規則:

    1.只有用戶生成的文件、其他數據及其他程序不能重新創建的文件,應該保存在<Application_Home>/Documents 目錄下面,并將通過iCloud自動備份。

      2.可以重新下載或者重新生成的數據應該保存在 <Application_Home>/Library/Caches 目錄下面。舉個例子,比如雜志、新聞、地圖應用使用的數據庫緩存文件和可下載內容應該保存到這個文件夾。

      3.只是臨時使用的數據應該保存到 <Application_Home>/tmp 文件夾。盡管 iCloud 不會備份這些文件,但在應用在使用完這些數據之后要注意隨時刪除,避免占用用戶設備的空間。

      如果我們暫時暫時忘記很多新聞、雜志、地圖應用的唯一目的就是顯示離線內容這個事實的話,以上條款還是相當清楚和有意義的。

      3.應用審核被拒

      最近不斷有開發者反應在 Documents 文件夾存儲 “任何/一些/很多”(any/some/much) 數據的應用被蘋果的應用審核團隊拒絕。但有些開發者已經成功地向應用審核團隊解釋他們的應用存儲文件的原理,并表明他們的應用是完全遵守開發規則的。

      現在看來,蘋果應用審核團隊也并沒有十足的把握判斷到底哪些文件夾中存儲的哪些數據是用戶生成的,而哪些數據又是可以重新下載和重新生成的。

      4.iTunes 和 iCloud 到底備份了哪些內容

      應用文件夾所有內容都會備份,除了:

    • 應用程序本身bundle(.app)
    • < Application_Home>/tmp
    • < Application_Home>/Library/Caches directory

      這在iCloud 數據存儲準則中有很清楚的說明。

      其他的文件也清楚的申明了,應用程序支持文件夾也會被iTunes備份。在討論中一些開發者建議應用支持文件夾應該比緩存文 件夾更安全點(更持久點)。在我看來,自從iCloud 存儲推出以來,蘋果應用審核團隊將會重點打擊那些需要存儲大量應用支持文件在Documents 文件夾中的應用。

      5.iOS 5 的行為變化

      在 iOS 5 設備中,當用戶收到存儲空間不足的警告時,如果此時應用沒有運行,那么該應用的 <Application_Home>/Library/Caches文件夾中的數據將被清空。

      這意味著在 iOS 5 中應用將沒有任何文件夾可以存儲以下文件:

    • 沒有備份到iTunes/iCloud的文件
    • 刪除不會帶來危險的文件

      顯然,現在要讓 iOS 5.0 給開發者有一個文件夾存放文件已經不可能了,但是假如有足夠的開發者向蘋果表明他們確實需要這樣一個文件夾來存儲一些數據,我想在將來的版本當中,也許會出現改善。

      給開發者的建議:趕緊給蘋果提交漏洞報告!

      原文作者:Our4.org,原文鏈接。

    轉載于:https://www.cnblogs.com/jinjiantong/p/3213586.html

    總結

    以上是生活随笔為你收集整理的[ios2]苹果iOS 5限制应用本地存储问题 【转】的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。