举例详解iOS开发过程中的沙盒机制与文件

2020-01-14 16:18:42刘景俊

Library:存储程序的默认设置或其它状态信息;
Library/Caches:存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用退出删除
tmp:提供一个即时创建临时文件的地方。

iTunes在与iPhone同步时,备份所有的Documents和Library文件。
iPhone在重启时,会丢弃所有的tmp文件。
这是上面提到的三个目录 :Documents、Library、 tmp

举例详解iOS开发过程中的沙盒机制与文件

几个常用的代码示例:
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 目录未找到");