iOS開發之沙盒機制(SandBox)

jopen 9年前發布 | 13K 次閱讀 IOS iOS開發 移動開發
 

iOS APP可以在自己的沙盒里讀寫文件,但是,不可以訪問其他APP的沙盒。每一個APP都是一個信息孤島,相互是不可以進行通信的,唯獨可以通過URL Scheme。沙盒里面的文件可以是照片、聲音文件、文本、屬性列表等。

沙盒機制簡介

沙盒簡述:

  1. 每一個APP都有一個存儲空間,就是沙盒。
  2. APP之間不能相互通信。
  3. 沙盒根目錄結構:Documents、Library、temp。

簡述一下Documents、Library、temp的區別:

  1. Documents: 用于存儲用戶數據,iTunes備份和恢復的時候會包括此目錄,所以,蘋果建議將程序中建立的或在程序中瀏覽到的文件數據保存在該目錄下。
  2. Library: 包含兩個子目錄:Caches 和 Preferences。Caches用來存放用戶需要換成的文件。Preferences是APP的偏好設置,可以通過NSUserDefaults來讀取和設置。
  3. tmp: 用于存放臨時文件,這個可以放一些當APP退出后不再需要的文件。

打開模擬器沙盒方法

方法一:前往文件夾打開

/Users/ligang/Library/Application Support/iPhone Simulator/

直接在Finder->前往->前往文件夾,輸入上面的內容即可。記住將ligang換成你的電腦用戶名。

方法二:通過Finder一步步查找

模擬器上的APP的沙盒實在用戶目錄下的資源庫里面,但是資源庫是隱藏文件夾。所以查看沙盒之前,現將隱藏文件夾顯示出來。顯示隱藏文件的命令:

defaults write com.apple.finder AppleShowAllFiles -bool true 

用心的童鞋會發現,隱藏隱藏文件的命令:

defaults write com.apple.finder AppleShowAllFiles -bool false 

查找步驟請看圖:

關于沙盒機制(SandBox)的介紹大概就是這樣,以后面試的時候萬一碰到你就可以這么回答。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!