iOS學習之iOS沙盒(sandbox)機制和文件操作(一)

1、iOS沙盒機制

iOS應用程序只能在爲該改程序創建的文件系統中讀取文件,不可以去其它地方訪問,此區域被成爲沙盒,所以所有的非代碼文件都要保存在此,例如圖像,圖標,聲音,映像,屬性列表,文本文件等。

1.1、每個應用程序都有自己的存儲空間
1.2、應用程序不能翻過自己的圍牆去訪問別的存儲空間的內容
1.3、應用程序請求的數據都要通過權限檢測,假如不符合條件的話,不會被放行。
     通過這張圖只能從表層上理解sandbox是一種安全體系,應用程序的所有操作都要通過這個體系來執行,其中核心內容是:sandbox對應用程序執行各種操作的權限限制。

2、打開模擬器沙盒目錄

下面看看模擬器的沙盒文件夾在mac電腦上的什麼位置。

文件都在個人用戶名文件夾下的一個隱藏文件夾裏,中文叫資源庫,他的目錄其實是Library。

2.1 方法1、可以設置顯示隱藏文件,然後在Finder下直接打開。設置查看隱藏文件的方法如下:打開終端,輸入命名

顯示Mac隱藏文件的命令:defaultswritecom.apple.finderAppleShowAllFiles -booltrue

隱藏Mac隱藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool false

輸完單擊Enter鍵,退出終端,重新啓動Finder就可以了
重啓Finder:鼠標單擊窗口左上角的蘋果標誌-->強制退出-->Finder-->

現在能看到資源庫文件夾了。

打開資源庫後找到/Application Support/iPhone Simulator/文件夾。這裏面就是模擬器的各個程序的沙盒目錄了。

2.2 方法2、這種方法更方便,在Finder上點->前往->前往文件夾,輸入/Users/username/Library/Application Support/iPhone Simulator/  前往。

username這裏寫你的用戶名。

3、目錄結構

默認情況下,每個沙盒含有3個文件夾:Documents, Library 和 tmp。因爲應用的沙盒機制,應用只能在幾個目錄下讀寫文件
Documents:蘋果建議將程序中建立的或在程序中瀏覽到的文件數據保存在該目錄下,iTunes備份和恢復的時候會包括此目錄
Library:存儲程序的默認設置或其它狀態信息;

Library/Caches:存放緩存文件,iTunes不會備份此目錄,此目錄下文件不會在應用退出刪除

tmp:提供一個即時創建臨時文件的地方。


iTunes在與iPhone同步時,備份所有的Documents和Library文件。

iPhone在重啓時,會丟棄所有的tmp文件。


我們創建一個IosSandbox的項目來展開沙盒和文件讀寫等操作的練習。

創建後找到模擬器上對應的目錄,

這是目錄全展開了。

 

這是上面提到的三個目錄 :Documents、Library、 tmp

下篇介紹目錄路徑獲取和文件操作

著作權聲明:本文由http://blog.csdn.net/totogo2010/原創,歡迎轉載分享。請尊重作者勞動,轉載時保留該聲明和作者博客鏈接,謝謝

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章