數(shù)據(jù)存儲-淺談沙盒 geekband

沙盒是什么?
就是一對沙子的盒嗎?
不對,

沙盒是:
iOS應(yīng)用程序只能在為該改程序創(chuàng)建的文件系統(tǒng)中讀取文件,不可以去其它地方訪問,此區(qū)域被成為沙盒,所以所有的非代碼文件都要保存在此,例如圖像,圖標(biāo),聲音,映像,屬性列表,文本文件等。
1.1、每個應(yīng)用程序都有自己的存儲空間
1.2、應(yīng)用程序不能翻過自己的圍墻去訪問別的存儲空間的內(nèi)容
1.3、應(yīng)用程序請求的數(shù)據(jù)都要通過權(quán)限檢測,假如不符合條件的話,不會被放行。

沙盒同時存在目錄結(jié)構(gòu)

默認(rèn)情況下,每個沙盒含有3個文件夾:Documents, Library 和 tmp。因?yàn)閼?yīng)用的沙盒機(jī)制,應(yīng)用只能在幾個目錄下讀寫文件.
 'Documents':蘋果建議將程序中建立的或在程序中瀏覽到的文件數(shù)據(jù)保存在該目錄下,iTunes備份和恢復(fù)的時候會包括此目錄
'Library':存儲程序的默認(rèn)設(shè)置或其它狀態(tài)信息;
' Library/Caches':存放緩存文件,iTunes不會備份此目錄,此目錄下文件不會在應(yīng)用退出刪除
'tmp':提供一個即時創(chuàng)建臨時文件的地方。

Ps:題外小知識,iTunes與iPhone同步時, 會備份所有'Documents' 和'Library'文件.

獲取沙盒目錄:

NSString *homeDirectory = NSHomeDirectory();
NSLog(@"path:%@", homeDirectory);
//位置為
 2016-04-27 16:04:19.517 newTest[1392:262148] path:/Users/zhu/Library/Developer/CoreSimulator/Devices/D3784717-8BDE-4F5F-B382-6B838D1696E2/data/Containers/Data/Application/15E41826-DBE5-4BF3-B8D3-19EE1A8DB6F1

獲取Documents目錄

   NSArray* Documents =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
   NSString * Document = [Documents objectAtIndex:0];
   NSLog(@"path:%@", Document);

獲取Library目錄

NSArray* Librarys =NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask, YES);
NSString * Library = [Librarys objectAtIndex:0];
NSLog(@"%@", path);

獲取tmp目錄:

  NSString*tmpDir = NSTemporaryDirectory(); 
  NSLog(@"%@", tmpDir);

在說一個iTunes File sharing
就是能在iTunes上面?zhèn)魑募o應(yīng)用;


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

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

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