zoukankan      html  css  js  c++  java
  • 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];

  • 相关阅读:
    【UVA
    Struts2框架学习笔记1
    如何面对这个残酷的世界?——Java模拟
    漫漫学习路——我的大一
    leetcode-36-有效的数独
    leetcode-887-三维形体投影面积
    leetcode-34-在排序数组中查找元素的第一个和最后一个位置
    leetcode-33-搜索旋转排序数组
    leetcode-31-下一个排列
    leetcode-17-电话号码的字母组合
  • 原文地址:https://www.cnblogs.com/macroxu-1982/p/3468030.html
Copyright © 2011-2022 走看看