沙盒

294 阅读1分钟

沙盒知识

在iphone 沙盒里面有四个文件夹,分别是documents,tmp,app,library.

1:Documents: 这是文档目录. 有关应用的所有数据文件都应该写入这个目
  录下,这个目录用于存储用户数据或者其他应该定期备份的信息
  1.1:获取Document目录路径的方法
       NSString * documentPath = NSSearchPathForDirectoriesInDomains
       (NSDocumentDirectory, NSUserDomainMask, YES).firstObject;//或者lastObject
       
 2:AppName.app : 应用程序的程序包目录,包含应用程序的本身.由于
 应用程序必须经过签名,所以在运行时不能对这个目录中的内容进行修改,否则可能会使程序无法启动.
     2.1:获取AppName.app 目录路径
         NSString * path = [[NSBundle mainBundle] bundlePath];      
         
  3:Library: 库目录, 这个目录下还有两个子目录,Caches和Preferences
    3.1: Caches 目录:
       缓存目录,用于存储应用程序专用的支持文件,保存应用程序再次启
       动需要的信息. itunes 不会同步此文件夹,适合存储体积大,不需要备份的非重
       要数据
       NSString * cachePath =
       NSSearchPathForDirectoriesInDomains(NSCachesDirectory,
       NSUserDomainMask, YES).firstObject;
     
     3.2: Perferences目录
         包含应用程序的编号设置文件,存放NSUserDefaults保存
         的.plist文件.itunes同步该文件夹中的内容
          NSUserDefaults * userDefaults =[NSUserDefaults 
          standardUserDefaults];
      //直接调用方法就能保存偏好设置里面
      [userDefaults setObject:@"hahah" forKey:@"name"];
      [userDefaults synchronize];  
      
 4:Library/Application Support 目录:
     [NSSearchPathForDirectoriesInDomains(NSApplicationSupportDir
       ectory, NSUserDomainMask, YES) objectAtIndex:0];
       
 5:tmp: 临时文件夹,itunes 不会同步此文件夹,里面存的是临时文件,随时介意删除,一般不怎么使用
    NSString * tmpPath = NSTemporaryDirectory(); 
    
 6:获取沙盒主目录路径  
    NSString * homePath = NSHomeDirectory();