IOS 階段學習第25天筆記(IOS沙箱機制介紹)

來源:互聯網
上載者:User

標籤:

IOS學習(OC語言)知識點整理

一、IOS沙箱機制介紹  

 

1)概念:每個ios應用都有自己的應用沙箱,應用沙箱就是檔案系統目錄,與其他應用放入檔案 系統隔離,ios系統不允許訪問

    其他應用的應用沙箱,但在ios8中已經開放訪問(extension) 

 

2)extension是ios8新開放的一種對幾個固定系統地區的拓展機制,它可以在一定程度上彌補ios的沙箱機制對應用間的通訊限制

 

3)應用沙箱一般包括以下幾個檔案目錄:  

    1、應用程式套件組合:包含所有資源檔和可執行檔  

 

    2、Documents:儲存應用運行時產生的需要持久化的資料,iTunes會自動備份該目錄  

 

    3、tmp:儲存應用運行時所需的臨時資料,使用完畢後再將相應的檔案從該目錄刪除,應用沒有運行時,系統也可能會自動清理

         該目錄下的檔案,iTunes不會同步該目錄,iPhone重啟時該目錄下的檔案會丟失。

  

    4、Libaray:儲存程式的預設設定和其他狀態資訊,iTunes會自動備份該目錄。  

 

    5、Libaray/Caches:存放快取檔案,iTunes不會備份此目錄,此目錄下檔案不會在應用退出刪除,一般存放體積比較大,

         不是很重要的資源  

 

    6、Libaray/Preferences:儲存應用的所有喜好設定,ios的Settings(設定)應用會在該目錄中尋找應用的設定資訊,

        iTunes會自動備份該目錄。 

 

4)擷取應用的根目錄 例如:  

1  NSString *sandBox=NSHomeDirectory();

 

5)擷取應用的Documents目錄 例如:  

1 //NSSearchPathForDirectoriesInDomains 返回絕對路徑 2 //NSSearchPathForDirectoriesInDomains(要尋找的目錄, 是否是使用者主目錄, YES/NO 是否擷取全路徑); 3 NSArray *arry=  NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 4 NSLog(@"%@",[arry lastObject]);

 

6)擷取應用的Libaray目錄 例如:

1 NSArray *arry2=  NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);2 NSLog(@"%@",[arry2 lastObject]);

  

7)擷取應用的Caches目錄 例如: 

1 NSArray *arry3=  NSSearchPathForDirectoriesInDomains(NSCachesDirectory,    2 NSUserDomainMask, YES);3 NSLog(@"%@",[arry3 lastObject]);

 

8)擷取應用的Preferences 目錄,不能直接擷取只能自行拼接 例如: 

1 NSArray *arry4=  NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);2 NSString *path=[arry4 lastObject];3 path=[path stringByAppendingPathComponent:@"Preferences"];4 NSLog(@"%@",path);

 

9)擷取應用的tmp目錄 例如:

1 NSString *tmp=NSTemporaryDirectory();2 NSLog(@"%@",tmp);

 

10)寫入檔案到指定的應用目錄下 例如:  

1 NSArray *arry4=  NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);2 NSString *path=[arry4 lastObject]; 3 path=[path stringByAppendingPathComponent:@"Preferences/Test.txt"];4 NSString *str=@"abcdefg";5 [str writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:nil];

 

IOS 階段學習第25天筆記(IOS沙箱機制介紹)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.