iOS沙盒目錄

一、沙盒目錄

iPhone的沙箱模型有四個(gè)文件夾,分別是documents,tmp,library,app。

獲取沙盒主目錄

NSString*homePaht = NSHomeDirectory();

documents

這是文檔目錄,有關(guān)App的數(shù)據(jù)文件緩存在這里。

向documents中寫(xiě)入緩存時(shí)候,首先需要獲取到文件目錄,documents文件路徑:

NSString *documentsPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject;

這里documentsPath返回是個(gè)數(shù)組,但是取firstObject和lastObject應(yīng)該是一樣的,因?yàn)檫@個(gè)路徑下只有一個(gè)文件夾。

app

AppName.app文件夾是應(yīng)用程序的程序包目錄,這個(gè)目錄下的文件一般不修改。

我們?cè)陂_(kāi)發(fā)階段經(jīng)常要用項(xiàng)目中某個(gè)資源文件等,就要獲取AppName.app目錄路徑,然后拿到程序包對(duì)應(yīng)的資源。

NSString  *appPath = [[NSBundle mainBundle] bundlePath];

library

庫(kù)目錄,該目錄下有有兩級(jí)子目錄,caches和preferences。

caches目錄

緩存目錄,用于存儲(chǔ)應(yīng)用程序?qū)S玫闹С治募?,保存?yīng)用程序再次啟動(dòng)過(guò)程中需要的信息。iTunes不會(huì)同步此文件夾,適合存儲(chǔ)體積大,不需要備份的非重要數(shù)據(jù)。

NSString  *path = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject;

preferences目錄

包含應(yīng)用程序的編號(hào)設(shè)置文件,存放NSUserDefaults保存的.plist文件。iTunes同步該應(yīng)用時(shí)會(huì)同步該文件夾中的內(nèi)容。

NSUserDefaults  *userDefaults = [NSUserDefaults standardUserDefaults];
//直接調(diào)用方法就能保存入偏好設(shè)置里面
[userDefaults setObject:@"hello"forKey:@"hello"];
[userDefaults synchronize];

tmp

這個(gè)目錄用于存放臨時(shí)文件,只程序終止時(shí)需要移除這些文件,當(dāng)應(yīng)用程序不再需要這些臨時(shí)文件時(shí),應(yīng)該將其從這個(gè)目錄中刪除。

NSString  *tmppath  = NSTemporaryDirectory();

二、主要目錄

Documents(NSDocumentDirectory)
用于寫(xiě)入應(yīng)用相關(guān)數(shù)據(jù)文件的目錄,在iOS中寫(xiě)入這里的文件能夠與iTunes共享并訪(fǎng)問(wèn),存儲(chǔ)在這里的文件會(huì)自動(dòng)備份到云端。

Library/Caches(NSCachesDirectory)
用于寫(xiě)入應(yīng)用支持文件的目錄,保存應(yīng)用程序再次啟動(dòng)需要的信息。iTunes不會(huì)對(duì)這個(gè)目錄的內(nèi)容進(jìn)行備份。

tmp(use NSTemporaryDirectory())
這個(gè)目錄用于存放臨時(shí)文件,只程序終止時(shí)需要移除這些文件,當(dāng)應(yīng)用程序不再需要這些臨時(shí)文件時(shí),應(yīng)該將其從這個(gè)目錄中刪除。

Library/Preferences
這個(gè)目錄包含應(yīng)用程序的偏好設(shè)置文件,使用 NSUserDefault類(lèi)進(jìn)行偏好設(shè)置文件的創(chuàng)建、讀取和修改。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ** 前言:**處于安全考慮,iOS系統(tǒng)的沙盒機(jī)制規(guī)定每個(gè)應(yīng)用都只能訪(fǎng)問(wèn)當(dāng)前沙盒目錄下面的文件(也有例外,比如在用...
    小木___Boy閱讀 48,082評(píng)論 6 89
  • 出于安全考慮,iOS系統(tǒng)的沙盒機(jī)制規(guī)定每個(gè)應(yīng)用都只能訪(fǎng)問(wèn)當(dāng)前沙盒目錄下面的文件(也有例外,比如系統(tǒng)通訊錄能在用戶(hù)授...
    Anticipate_91閱讀 571評(píng)論 0 3
  • 每個(gè)iOS應(yīng)用SDK都被限制在“沙盒”中,“沙盒”相當(dāng)于一個(gè)加了僅主人可見(jiàn)權(quán)限的文件夾,蘋(píng)果對(duì)沙盒有以下幾條限制。...
    yymyb閱讀 1,031評(píng)論 1 2
  • iOS沙盒目錄結(jié)構(gòu)解析 出于安全考慮,iOS系統(tǒng)的沙盒機(jī)制規(guī)定每個(gè)應(yīng)用都只能訪(fǎng)問(wèn)當(dāng)前沙盒目錄下面的文件(也有例外,...
    Coder_Fsh_Messi閱讀 1,693評(píng)論 2 24
  • 在灰色的天中接住 翻身一并跳落,一個(gè)踉蹌跌入草叢 望云云無(wú)月,起身?yè)炱鹕⒙涞?摔進(jìn)洗衣機(jī)里倒上藍(lán)液體 癱坐 翻滾聲...
    飛魚(yú)kiwi閱讀 178評(píng)論 0 0

友情鏈接更多精彩內(nèi)容