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

IOS 沙盒机制

时间:2016-02-14 16:46:55      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:

IOS中的沙盒机制(SandBox)是一种安全体系,它规定了应用程序只能在为该应用创建的文件夹内读取文件,不可以访问其他地方的内容。所有的非代码文件都保存在这个地方,比如图片、声音、属性列表和文本文件等。

应用沙盒一般包括以下几个文件目录:
1  应用程序包:包含所有资源文件和可执行文件  
2  Documents:保存应用运行时生成的需要持久化的数据,iTunes会自动备份该目录  
3  tmp:保存应用运行时所需的临时数据,使用完毕后再将相应的文件从该目录删除,应用没有运行时,系统也可能会自动清理该目录下的文件,iTunes不会同步该目录,iPhone重启时该目录下的文件会丢失。
4  Libaray:存储程序的默认设置和其他状态信息,iTunes会自动备份该目录。  
5  Libaray/Caches:存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用退出删除,一般存放体积比较大,不是很重要的资源  
6  Libaray/Preferences:保存应用的所有偏好设置,ios的Settings(设置)应用会在该目录中查找应用的设置信息,iTunes会自动备份该目录。

1、获取程序的Home目录
NSString *homeDirectory = NSHomeDirectory();  
NSLog(@"path:%@", homeDirectory);  

2、获取document目录
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
NSString *path = [paths objectAtIndex:0];  
NSLog(@"path:%@", path);   

3、获取Cache目录
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);  
NSString *path = [paths objectAtIndex:0];  
NSLog(@"%@", path);  

4、获取Library目录
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);  
NSString *path = [paths objectAtIndex:0];  
NSLog(@"%@", path);  

5、获取Tmp目录
NSString *tmpDir = NSTemporaryDirectory();  
 NSLog(@"%@", tmpDir); 

6、写入文件
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
    NSString *docDir = [paths objectAtIndex:0];  
    if (!docDir) {  
        NSLog(@"Documents 目录未找到");          
    }  
    NSArray *array = [[NSArray alloc] initWithObjects:@"内容",@"content",nil];  
    NSString *filePath = [docDir stringByAppendingPathComponent:@"testFile.txt"];  
    [array writeToFile:filePath atomically:YES];

7, 写入文件
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
    NSString *docDir = [paths objectAtIndex:0];  
    NSString *filePath = [docDir stringByAppendingPathComponent:@"testFile.txt"];  
    NSArray *array = [[NSArray alloc]initWithContentsOfFile:filePath];  
    NSLog(@"%@", array); 

 

IOS 沙盒机制

标签:

原文地址:http://www.cnblogs.com/joesen/p/5189193.html

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