子曾经曰过

  博客园  :: 首页  ::  ::  ::  :: 管理
  • <Application_Home>/AppName.app:存放应用程序自身
  • <Application_Home>/Documents/:存放用户文档和应用数据文件
  • <Application_Home>/Library/:应用程序规范的顶级目录,下面有一些规范定义的的子目录,当然也可以自定义子目录,用于存放应用的文件,但是不宜存放用户数据文件
  • <Application_Home>/Library/Preferences,这里存放程序规范要求的首选项文件
  • <Application_Home>/Library/Caches,保存应用的持久化数据,用于应用升级或者应用关闭后的数据保存
  • <Application_Home>/tmp/,保存应用数据,但不需要持久化的,在应用关闭后,该目录下的数据将删除 

备份和恢复

iTunes应用可在适当情况下自动处理备份和恢复。然后,应用需要知道备份和恢复的文件放在哪里。

什么是备份

你不必为你的应用备份和恢复做任何准备。在iOS 2.2以后,当设备连接到电脑并开始同步后,iTunes会自动增量备份所有文件,但不包括下面的目录:

  • <Application_Home>/AppName.app
  • <Application_Home>/Library/Caches
  • <Application_Home>/tmp

虽然iTunes备份应用自身,但不是每次同步都这样做。从app store上购买的应用,只在随后的同步过程中被iTunes备份。再之后,iTunes并不在同步操作中备份应用,除非应用自身发生变化,比如应用的升级。

为了避免同步过程时间过长,你需要对应用中使用的文件放在哪里做出选择。<Application_Home>/Documents目录用来存放用户文档和应用数据文件。临时文件要保存在Application Home/tmp目录下,这样可以在不需要时删除。如果在两次启动中都需要的数据文件,但是不需要备份的,可放置在Application Home/Library/Caches。比如很大的数据文件,尽量放置在Caches目录下,而不是Documents目录下,Documents目录下文件将做备份,这样会很耗时。

应用更新期间的文件保存

如果文件需要在应用更新后依然存在,需要放置在:

  • <Application_Home>/Documents
  • <Application_Home>/Library

http://www.cppblog.com/cugdj/archive/2011/10/17/158544.html

 //相对,绝对路径问题
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSLog(@"%@",documentsDirectory);//documents目录路径
    //Users/jstv/Library/Application Support/iPhone Simulator/5.1/Applications/12C32E44-1C6F-4DA1-AC98-DF9C9247CBC5/Documents
    NSLog(@"%@",NSHomeDirectory());//app文件所在目录路径
    //Users/jstv/Library/Application Support/iPhone Simulator/5.1/Applications/12C32E44-1C6F-4DA1-AC98-DF9C9247CBC5
    NSLog(@"临时文件夹%@",NSTemporaryDirectory()); //tmp目录路径
    ///var/folders/wq/15313ptj2xl_b3zdwjkvd6wc0000gn/T/
    NSLog(@"%@",[[NSBundle mainBundle] resourcePath]);//程序应用包路径
    //Users/jstv/Library/Application Support/iPhone Simulator/5.1/Applications/12C32E44-1C6F-4DA1-AC98-DF9C9247CBC5/fileManage.app
    //或者
    NSLog(@"%@",[[NSBundle mainBundle] pathForResource: @"bomb" ofType: @"jpg"]);
    //Users/jstv/Library/Application Support/iPhone Simulator/5.1/Applications/12C32E44-1C6F-4DA1-AC98-DF9C9247CBC5/fileManage.app/bomb.jpg
posted on 2012-06-06 17:32  人的本质是什么?  阅读(1586)  评论(0编辑  收藏  举报