IOS沙盒路徑相關(guān)

1.NSSearchPathForDirectories:InDomains:方法需要解釋下,其聲明如下: ? ?

FOUNDATION_EXPORT NSArray *NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory directory, NSSearchPathDomainMask domainMask, BOOL expandTilde);

該方法用于返回指定范圍內(nèi)的指定名稱的目錄的路徑集合。有三個參數(shù):directoryNSSearchPathDirectory類型的enum值,表明我們要搜索的目錄名稱,比如這里用NSDocumentDirectory表明我們要搜索的是Documents目錄。如果我們將其換成NSCachesDirectory就表示我們搜索的是Library/Caches目錄。domainMaskNSSearchPathDomainMask類型的enum值,指定搜索范圍,這里的NSUserDomainMask表示搜索的范圍限制于當(dāng)前應(yīng)用的沙盒目錄。還可以寫成NSLocalDomainMask(表示/Library)、NSNetworkDomainMask(表示/Network)等。expandTildeBOOL值,表示是否展開波浪線~。我們知道在iOS中~的全寫形式是/User/userName,該值為YES即表示寫成全寫形式,為NO就表示直接寫成“~”。

NSSearchPathDomainMask? ? NSUserDomainMask是指/user//目錄,NSLocalDomainMask,官方文檔說是Local to the current machine—the place to install items available to everyone on this machine.還是不太好理解,應(yīng)該就是跟NSUserDomainMask相對的一個概念,NSUserDomainMask是針對當(dāng)前用戶的,而NSLocalDomainMask是針對所有用戶的,比如Library目錄,如果是針對用戶的,就是/user//Library,而對所有用戶的就是/Library。

NSNetworkDomainMaskt是指/Network目錄下的文件夾。

NSSystemDomainMask是系統(tǒng)目錄,現(xiàn)在的Mac在/System目錄下只有一個Library目錄,這個目錄下包含了系統(tǒng)運行的程序和文件。并且所有的SystemDomain的文件夾都是只讀的。

其實這個enum定義的是domain的概念,不能簡單的理解為某個文件夾下的文件,比如NSSystemDomainMask中的Application目錄是/Applications,Document目錄是/System/Library/Documentation,其實這就沒什么意義,因為這個文件夾根本不存在。

2.Myapp.app ?[[NSBundle mainBundle] bundlePath]?

3.NSTemporaryDirectory() // ? ?~/tmp/

4.NSHomeDirectory() //doucement根目錄(其下包含document、library、tmp)

5.[[NSFileManager defaultManager]URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask]; ?//同上

注意2和4、5的區(qū)別:分別輸出一下,自行比對

2:/Users/jiuxiaoming/Library/Developer/CoreSimulator/Devices/D046A800-26C8-4ACB-8884-BFF0AB19FD37/data/Containers/Bundle/Application/80DD0709-A2D0-47F2-8E47-978806C3C110/Day1CoreData.app

5:/Users/jiuxiaoming/Library/Developer/CoreSimulator/Devices/D046A800-26C8-4ACB-8884-BFF0AB19FD37/data/Containers/Data/Application/6AAAB6A9-35C2-4FE4-8BE8-1DB38ADE8662/Documents

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

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

  • 出于安全考慮,iOS系統(tǒng)的沙盒機制規(guī)定每個應(yīng)用都只能訪問當(dāng)前沙盒目錄下面的文件(也有例外,比如系統(tǒng)通訊錄能在用戶授...
    Anticipate_91閱讀 564評論 0 3
  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,595評論 30 472
  • 前言 默認(rèn)情況下,每個沙盒含有3個文件夾:Documents, Library 和 tmp。 1.Document...
    月上樓閣閱讀 1,506評論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,533評論 19 139
  • 在這紛紛擾擾的世間,絕大多數(shù)人都不過是其中一棵微末的塵埃。 站在人群,我毫不起眼,普普通通。與人相處,我不玩心計,...
    點點凡塵閱讀 282評論 0 1

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