美文网首页
IOS沙盒Files目录说明和常用操作

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

作者: RunningMan_Fly | 来源:发表于2016-04-19 11:03 被阅读182次

    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);

    }returnsuccess;

    }

    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

    只是临时使用的数据应该保存到 /tmp 文件夹。尽管 iCloud 不会备份这些文件,但在应用在使用完这些数据之后要注意随时删除,避免占用用户设备的空间

    3.1读取temp文件夹

    NSString *tmpDir =NSTemporaryDirectory();

    NSLog(@"%@", tmpDir);

    4 项目自带的.bundle资源束

    项目自带的资源存放在.bundle中这些资源只读不能写

    NSString*defaultDBPath = [[NSBundlemainBundle]resourcePath];

    相关文章

      网友评论

          本文标题:IOS沙盒Files目录说明和常用操作

          本文链接:https://www.haomeiwen.com/subject/rooalttx.html