天天看點

iOS開發之沙盒機制(SandBox)

iosapp可以在自己的沙盒裡讀寫檔案,但是,不可以通路其他app的沙盒。每一個app都是一個資訊孤島,互相是不可以進行通信的,唯獨可以通過urlscheme。沙盒裡面的檔案可以是照片、聲音檔案、文本、屬性清單等。

沙盒簡述:

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

查找步驟請看圖:

iOS開發之沙盒機制(SandBox)