IOS的app程序中的文件目录的功能和使用详细说明

一些重要的应用目录

为了安全的缘故,一个应用只能拥有一些目录,用来写入应用的数据或者首选项参数。当一个应用安装到系统,会创建该应用的home目录。以下列出一些home目录下的主要的子目录:

  • <Application_Home>/AppName.app:存放应用程序自身
  • <Application_Home>/Documents/:存放用户文档和应用数据文件
  • <Application_Home>/Library/:应用程序规范的顶级目录,下面有一些规范定义的的子目录,当然也可以自定义子目录,用于存放应用的文件,但是不宜存放用户数据文件,和document一样会被itunes同步,但不包括caches子目录
  • <Application_Home>/Library/Preferences,这里存放程序规范要求的首选项文件
  • <Application_Home>/Library/Caches,保存应用的持久化数据,用于应用升级或者应用关闭后的数据保存,不会被itunes同步,所以为了减少同步的时间,可以考虑将一些比较大的文件而又不需要备份的文件放到这个目录下
  • <Application_Home>/tmp/,保存应用数据,但不需要持久化的,在应用关闭后,该目录下的数据将删除,也可能系统在程序不运行的时候做清楚 ,官方文档摘抄:

    Use this directory to write temporary files that do not need to persist between launches of your app. Your app should remove files from this directory when it determines they are no longer needed. (The system may also purge lingering files from this directory when your app is not running.)

    In iOS 2.1 and later, the contents of this directory are not backed up by iTunes.


    备份和恢复

    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

    • ===========LZ留言===========================
    更多了解查看apple官方文档了解;

    MAC系统标准获取目录方法,NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
    而在ios上也可以通过上面方法去获取,但由于ios上一个个APP都是一个sandbox里运行的,文件系统限制更加严格一些,还提供了NSHomeDirectory()的方法去获取根目录,然后通过扩展文件路径,比如documents等去补齐路径查找文件
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值