IOS沙盒 sandbox 機制和檔案操作 二

2021-06-17 01:08:52 字數 3205 閱讀 8736

1、獲取程式的home目錄

[cpp]

view plain

copy

nsarray *paths = nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes);  

nsstring *path = [paths objectatindex:0];  

nslog(@"path:%@"

, path);  

列印結果: 

[cpp]

view plain

copy

那在真機上的目錄有是怎麼樣的呢?我們看看

2、獲取document目錄

[cpp]

view plain

copy

nsarray *paths = nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes);  

nsstring *path = [paths objectatindex:0];  

nslog(@"path:%@"

, path);  

列印結果

[cpp]

view plain

copy

3、獲取cache目錄

[cpp]

view plain

copy

nsarray *paths = nssearchpathfordirectoriesindomains(nscachesdirectory, nsuserdomainmask, yes);  

nsstring *path = [paths objectatindex:0];  

nslog(@"%@"

, path);  

列印結果 

[cpp]

view plain

copy

4、獲取library目錄

[cpp]

view plain

copy

nsarray *paths = nssearchpathfordirectoriesindomains(nslibrarydirectory, nsuserdomainmask, yes);  

nsstring *path = [paths objectatindex:0];  

nslog(@"%@"

, path);  

列印結果 

[cpp]

view plain

copy

5、獲取tmp目錄

[cpp]

view plain

copy

nsstring *tmpdir = nstemporarydirectory();  

nslog(@"%@"

, tmpdir);  

列印結果

[cpp]

view plain

copy

2012-06-17 14:08:07.824 iossandbox[3782:f803] /var/folders/g7/246bh79130zblw0yjjtc55cw0000gn/t/  

6、寫入檔案

[cpp]

view plain

copy

nsarray *paths = nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes);  

nsstring *docdir = [paths objectatindex:0];  

if(!docdir)   

nsarray *array = [[nsarray alloc] initwithobjects:@"內容"

,@"content"

,nil];  

];  

[array writetofile:filepath atomically:yes];  

注:我們在真機上也執行一下,把檔案寫入,下一步從真機上把內容讀取出來。

寫入輸入 array ,裡面是兩個字串,一會我們讀出來列印。

寫入我們在程式沙盒目錄下看到檔案 testfile.txt

開啟檔案看到的內容是這樣的,是個xml格式的plist檔案,資料格式儲存了內容。

[cpp]

view plain

copy

<?xml  version=

"1.0"

encoding=

"utf-8"

?>  

>  

"1.0"

>  

內容content

7、讀取檔案

[cpp]

view plain

copy

nsarray *paths = nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes);  

nsstring *docdir = [paths objectatindex:0];  

];  

nsarray *array = [[nsarray alloc]initwithcontentsoffile:filepath];  

nslog(@"%@"

, array);  

列印結果:

把上面的檔案解析後,把內容列印出來了。

[cpp]

view plain

copy

2012-06-17 14:14:46.249 iossandbox[3918:f803] (  

"\u5185\u5bb9"

,  content  

)  

真機上讀取並列印檔案路徑:

2012-06-17 14:25:47.059 iossandbox[4281:f803] 

/3b8ec78a-5eee-4c2f-b0cb-4c3f02b996d2/documents/testfile.txt(

"\u5185\u5bb9",

content )

真機上也能寫入和列印。

例子**:

iOS沙盒機制(sandBox)

一 沙盒概念 應用程式只能在為該程式建立的資料夾中進行檔案的讀取,這塊區域稱為沙盒。二 沙盒機制 是一種安全機制 1 應用程式只能在自己的沙盒中進行檔案讀取。2 應用程式不能訪問其它應用程式的沙盒。3 如果應用程式想要接收外部資料或者訪問其它應用程式,需要通過許可權認證。三 沙盒裡面的三個資料夾 1...

iOS之沙盒 Sandbox 機制

ios的安全性結構可以在某種程式中保護應用程式的資料和系統免受安全漏洞的損害,ios提供了一種機制使得每個應用程式都在自己的沙盒下。1 沙盒規定了應用程式只能在為該應用建立的資料夾下讀取檔案,不能訪問其他應用程式的沙盒內容。2 應用程式間不能共享資料,沙盒裡的檔案不能被複製到其他應用程式中,也不能把...

沙盒機制 sandBox

一 每個ios應用sdk都被限制在 沙盒 中,沙盒 相當於乙個加了僅主人可見許可權的資料夾,蘋果對沙盒有以下幾條限制。1 應用程式可以在自己的沙盒裡運作,但是不能訪問任何其他應用程式的沙盒。2 應用程式間不能共享資料 通過網路共享 沙盒裡的檔案不能被複製到其他應用程式資料夾中,也不能把其他應用程式資...