天天看點

iOS學習之iOS沙盒(sandbox)機制和檔案操作(一)

1、iOS沙盒機制

 iOS應用程式隻能在為該改程式建立的檔案系統中讀取檔案,不可以去其它地方通路,此區域被成為沙盒,是以所有的非代碼檔案都要儲存在此,例如圖像,圖示,聲音,映像,屬性清單,文本檔案等。

 1.1、每個應用程式都有自己的存儲空間

 1.2、應用程式不能翻過自己的圍牆去通路别的存儲空間的内容

 1.3、應用程式請求的資料都要通過權限檢測,假如不符合條件的話,不會被放行。

     通過這張圖隻能從表層上了解sandbox是一種安全體系,應用程式的所有操作都要通過這個體系來執行,其中核心内容是:sandbox對應用程式執行各種操作的權限限制。

iOS學習之iOS沙盒(sandbox)機制和檔案操作(一)

2、打開模拟器沙盒目錄

下面看看模拟器的沙盒檔案夾在mac電腦上的什麼位置。

檔案都在個人使用者名檔案夾下的一個隐藏檔案夾裡,中文叫資源庫,他的目錄其實是Library。

2.1 方法1、可以設定顯示隐藏檔案,然後在Finder下直接打開。設定檢視隐藏檔案的方法如下:打開終端,輸入命名

顯示
   
    Mac
   隐藏檔案的指令:
   
    defaults
    
   
    write
    
   
    com
   .
   
    apple
   .
   
    finder
    
   
    AppleShowAllFiles
    -
   
    bool
    
   
    true
   

隐藏Mac隐藏檔案的指令:defaults write com.apple.finder AppleShowAllFiles -bool false

輸完單擊Enter鍵,退出終端,重新啟動Finder就可以了
重新開機Finder:滑鼠單擊視窗左上角的蘋果标志-->強制退出-->Finder-->
      

現在能看到資源庫檔案夾了。

iOS學習之iOS沙盒(sandbox)機制和檔案操作(一)

打開資源庫後找到/Application Support/iPhone Simulator/檔案夾。這裡面就是模拟器的各個程式的沙盒目錄了。

iOS學習之iOS沙盒(sandbox)機制和檔案操作(一)

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的項目來展開沙盒和檔案讀寫等操作的練習。

建立後找到模拟器上對應的目錄,

這是目錄全展開了。

iOS學習之iOS沙盒(sandbox)機制和檔案操作(一)

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

iOS學習之iOS沙盒(sandbox)機制和檔案操作(一)

下篇介紹目錄路徑擷取和檔案操作

例子代碼:https://github.com/schelling/YcDemo

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