码迷,mamicode.com
首页 > 移动开发 > 详细

ios 沙盒机制

时间:2015-05-04 01:10:17      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:

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

 

ios 沙盒机制

标签:

原文地址:http://www.cnblogs.com/ndyBlog/p/4475056.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!