IOS App文件保存目录

时间:2021-12-10 22:09:36

      IOS系统为每一个App开辟独立的存储空间,也就是我们常说的沙盒(sandbox)。App保存目录结构可以分为如下4个:(1)xxx.app (2)Documents (3)Library (4)tmp

     (1)xxx.app

     该目录存放应用本身数据,以及程序打包的资源文件和一些本地文件, 程序的可执行程序和Plist文件也在该目录。获取该路径资源可以通过  [[NSBundlemainBundle]pathForResource:@"str"ofType:@"type"] 其中 str为文件名称、type为文件的指定类型。如png 、html等。
      在开发webApp的过程中,一般前端开发者会使用通过命名不同的文件区分不同文件存放,如JS、CSS等等文件夹的命名,当把这些文件加入在本地,xxx.app不会分多级目录存储,所有的文件将保存根目录,所以在html引用的时候JS或者CSS等相关文件时,应当获取当前目录,而不是多层级目录。

    如正确路径为IOS App文件保存目录

    而不是IOS App文件保存目录

       (2)Documents

    苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)

NSString*docpath=[paths objectAtIndex:0];

   (3)Library

Library 分为Preferences和Caches目录,Library多数用来保存一些配置文件。NSUserDefaults保存的数据会保存到

Library/Preferences目录下的一个plist文件中。Library/Caches用于存放缓存文件。 这个目录中的Preferences会被iTunes同步。

获取对应的路径步骤基本和Documents基本一样,区别在于传入的参数不一样

Caches:NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);

PreferencesNSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);

(4)tmp

tmp:提供一个创建临时文件的地方。iPhone在重启时会清除所有的tmp文件。