iOS沙盒機(jī)制,及其各個(gè)沙盒路徑的獲取,以及刪除文件夾

iOS開(kāi)發(fā)之沙盒機(jī)制(SandBox)詳細(xì)講解了沙盒的一些機(jī)制。在開(kāi)發(fā)中,我們需要對(duì)沙盒進(jìn)行操作,所以我們需要獲取到沙盒路徑。

沙盒里的文件夾包括Documents、Library、tmp。這三個(gè)文件夾的作用請(qǐng)點(diǎn)擊這里。(文件夾的作用 如下:)接下來(lái)我們來(lái)講解如何獲取Documents、Library、tmp的路徑。

獲取沙盒根目錄

獲取沙盒根目錄,直接調(diào)用NSHomeDirectory():

//獲取沙盒根目錄

NSString*directory=NSHomeDirectory();

NSLog(@"directory:%@",directory);

控制臺(tái)輸出:

2015-07-2200:40:16.185iOSStrongDemo[1605:555658]directory:/var/mobile/Containers/Data/Application/F9418815-51A9-4A0A-A76C-6FD37C400928

這個(gè)是真機(jī)的路徑,大家有時(shí)間的話可以看看模擬器的根目錄路徑。

獲取Documents路徑

獲取Documents路徑如下:

//獲取Documents路徑

NSArray*paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);

NSString*path=[pathsobjectAtIndex:0];

NSLog(@"path:%@",path);

控制臺(tái)輸出:

2015-07-2200:41:41.397iOSStrongDemo[1613:556159]path:/var/mobile/Containers/Data/Application/A62B886B-A8F0-4215-B59D-1F505C3997BD/Documents

獲取Documents文件夾目錄,第一個(gè)參數(shù)是說(shuō)明獲取Doucments文件夾目錄,第二個(gè)參數(shù)說(shuō)明是在當(dāng)前應(yīng)用沙盒中獲取。

獲取Library路徑

//獲取Library路徑

NSArray*paths=NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask,YES);

NSString*path=[pathsobjectAtIndex:0];

NSLog(@"path:%@",path);

控制臺(tái)輸出:

2015-07-2200:43:15.803iOSStrongDemo[1619:556638]/var/mobile/Containers/Data/Application/17300507-4643-4DE7-BC68-E13DB19C8D98/Library

獲取Caches路徑

//獲取Caches路徑

NSArray*paths=NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES);

NSString*path=[pathsobjectAtIndex:0];

NSLog(@"path:%@",path);

控制臺(tái)輸出:

2015-07-2200:44:31.383iOSStrongDemo[1626:557083]path:/var/mobile/Containers/Data/Application/1E945B52-E29D-4041-A489-1AA1B11BB960/Library/Caches

獲取tmp路徑

NSString*tmp=NSTemporaryDirectory();

NSLog(@"tmp:%@",tmp);

控制臺(tái)輸出:

2015-07-2200:46:07.846iOSStrongDemo[1632:557537]tmp:/private/var/mobile/Containers/Data/Application/4BE02307-1CC5-47E8-BEA8-CEBB7ED5A402/tmp/

以上是iOS開(kāi)發(fā)中獲取沙盒路徑的方法,也許還有更好的獲取方法等待我們?nèi)グl(fā)現(xiàn)。后面我們還會(huì)講到關(guān)于在沙盒里進(jìn)行讀寫文件操作。

移除沙盒路徑的某個(gè)文件或者某個(gè)文件夾

ios 下創(chuàng)建,刪除文件夾的方法

2011-11-11 15:05:42|??分類:iphone 筆記

創(chuàng)建文件夾:

NSString*imageDir = [NSStringstringWithFormat:@"%@/Caches/%@",NSHomeDirectory(), dirName];

BOOLisDir =NO;

NSFileManager*fileManager = [NSFileManagerdefaultManager];

BOOLexisted = [fileManagerfileExistsAtPath:imageDirisDirectory:&isDir];

if( !(isDir ==YES&& existed ==YES) )

{

[fileManagercreateDirectoryAtPath:imageDirwithIntermediateDirectories:YESattributes:nilerror:nil];

}

刪除文件夾及文件級(jí)內(nèi)的文件:

NSString*imageDir = [NSStringstringWithFormat:@"%@/Caches/%@",NSHomeDirectory(), dirName];

NSFileManager*fileManager = [NSFileManagerdefaultManager];

[fileManagerremoveItemAtPath:imageDirerror:nil];

沙盒機(jī)制簡(jiǎn)介

沙盒簡(jiǎn)述:

每一個(gè)APP都有一個(gè)存儲(chǔ)空間,就是沙盒。

APP之間不能相互通信。

沙盒根目錄結(jié)構(gòu):Documents、Library、temp。

簡(jiǎn)述一下Documents、Library、tmp的區(qū)別:

Documents:用于存儲(chǔ)用戶數(shù)據(jù),iTunes備份和恢復(fù)的時(shí)候會(huì)包括此目錄,所以,蘋果建議將程序中建立的或在程序中瀏覽到的文件數(shù)據(jù)保存在該目錄下。

Library:包含兩個(gè)子目錄:Caches 和 Preferences。Caches用來(lái)存放用戶需要換成的文件。Preferences是APP的偏好設(shè)置,可以通過(guò)NSUserDefaults來(lái)讀取和設(shè)置。

tmp:用于存放臨時(shí)文件,這個(gè)可以放一些當(dāng)APP退出后不再需要的文件。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容