IOS沙盒Files目录说明和常用操作

Posted 「违规用户」

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;

 

 

2 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];


以上是关于IOS沙盒Files目录说明和常用操作的主要内容,如果未能解决你的问题,请参考以下文章

iOS学习之iOS沙盒(sandbox)机制和文件操作

iOS学习之iOS沙盒(sandbox)机制和文件操作1

IOS开发-UI学习-沙盒机制&文件操作

iOS边练边学--应用数据存储的常用方式(plist,Preference,NSKeyedArchiver)其中的三种

iOS开发之--沙盒的操作

文件操作