zoukankan      html  css  js  c++  java
  • ios 沙盒机制

    1、IOS沙盒机制 
        在ios系统中,系统都为每一个app创建一个资源目录,这个目录称之为沙盒          。里面存放着图片,属性文件plist,bundle,nib文件等。
    
    其特点如下:
                   
        1、每个应用都有属于自己的存储空间 -- 沙盒。
        2、每个应用都只能访问自己的沙盒,不能访问别的沙盒
        3、每个应用的文件操作必须在沙盒内,比如数据库存储,文件存储等
    
    2、沙盒目录结构
         Documents   应用中用户数据可以放在这里,iTunes备份和恢复的时候会包括此目录
                                 ---  Caches 存储应用程序再次启动所需的信息
          Library ---------|
                                 --- Preferences 包含应用程序偏好设置文件,不过不要在这里修改偏好设置
          tmp  存放临时文件,iTunes不会备份和恢复此目录,此目录下文件可能会在应用退出后删除
    
    3、沙盒目录获取
        + (NSString *)homePath;     // 程序主目录,可见子目录(3个):Documents、Library、tmp
    + (NSString *)appPath;        // 程序目录,不能存任何东西
    + (NSString *)docPath;        // 文档目录,需要ITUNES同步备份的数据存这里,可存放用户数据
    + (NSString *)libPrefPath;    // 配置目录,配置文件存这里
    + (NSString *)libCachePath;    // 缓存目录,系统永远不会删除这里的文件,ITUNES会删除
    + (NSString *)tmpPath;        // 临时缓存目录,APP退出后,系统可能会删除这里的内容
    + (BOOL)hasLive:(NSString *)path; //判断目录是否存在,不存在则创建         
        
    
    + (NSString *)homePath{
        return NSHomeDirectory();
    }
    
    + (NSString *)appPath
    {
        NSArray * paths = NSSearchPathForDirectoriesInDomains(NSApplicationDirectory, NSUserDomainMask, YES);
        return [paths objectAtIndex:0];
    }
    
    + (NSString *)docPath
    {
        NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        return [paths objectAtIndex:0];
    }
    
    + (NSString *)libPrefPath
    {
        NSArray * paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
        return [[paths objectAtIndex:0] stringByAppendingFormat:@"/Preference"];
    }
    
    + (NSString *)libCachePath
    {
        NSArray * paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
        return [[paths objectAtIndex:0] stringByAppendingFormat:@"/Caches"];
    }
    
    + (NSString *)tmpPath
    {return [NSHomeDirectory() stringByAppendingFormat:@"/tmp"];
    }
    
    + (BOOL)hasLive:(NSString *)path
    {
        if ( NO == [[NSFileManager defaultManager] fileExistsAtPath:path] )
        {
            return [[NSFileManager defaultManager] createDirectoryAtPath:path
                                             withIntermediateDirectories:YES
                                                              attributes:nil
                                                                   error:NULL];
        }
        
        return NO;
    }
  • 相关阅读:
    regsvr32 错误解决方案
    cefsharp解决闪烁
    WPF使用cefsharp 下载地址
    Winform下CefSharp的引用、配置、实例与报错排除(源码)
    cefSharp在XP下使得程序崩溃记录
    mvc3在window 7 iis7下以及 xp iis 5.1下的部署 ,asp.net MVC3无法打开项目文件E:/我们的项目/Project/HeatingMIS.Web/HeatingMIS.Web.csproj”。此安装不支持该项目类型。
    顺序程序设计
    你对linux了解多少,Linux 系统结构详解!
    算术运算符和算术表达式(优先级,结合性等)
    离散化和面元划分(可以理解为划分段)
  • 原文地址:https://www.cnblogs.com/ndyBlog/p/4475056.html
Copyright © 2011-2022 走看看