IOS沙盒Files目錄說明和常用操作


Ios沙盒目錄清單

1 Documents

 用於存儲用戶生成的文件、其他數據及其他程序不能重新創建的文件,默認文件通過iCloud自動備份。如果不需要iCloud備份,則設置標記

NSURLIsExcludedFromBackupKey,注明不備份

 

1.1 讀取Documents目錄代碼

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

NSString *path = [paths objectAtIndex:0]; 
 
NSLog(@"path:%@", path);  

1.2 標記不備份文件

+ (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL
{
    assert([[NSFileManager defaultManager] fileExistsAtPath: [URL path]]);
    
    NSError *error = nil;
    BOOL success = [URL setResourceValue: [NSNumber numberWithBool: YES]
                                  forKey: NSURLIsExcludedFromBackupKey error: &error];
    if(!success){
        NSLog(@"Error excluding %@ from backup %@", [URL lastPathComponent], error);
    }
    return success;
}

 

 

Library

存儲項目緩存,常用設置等

2.1 讀取Cache目錄代碼

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

2.2 讀取Library目錄

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

 

3 temp

只是臨時使用的數據應該保存到 <Application_Home>/tmp 文件夾。盡管 iCloud 不會備份這些文件,但在應用在使用完這些數據之后要注意隨時刪除,避免占用用戶設備的空間

 

3.1讀取temp文件夾

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

 

4 項目自帶的.bundle資源束

項目自帶的資源存放在.bundle中這些資源只讀不能寫

  NSString *defaultDBPath = [[NSBundlemainBundle] resourcePath];


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM