iOS-目录结构

iOS 本身是基于 Linux 系统的,所以其目录结构与 Linux 非常类似。

整体目录结构

整体的目录结构如下:

iOS-DirectoryStructure

系统 App

系统内置的 App,或者越狱环境下拥有 Root 权限的 App,都存放在以下目录:

1
/Applications/

iOS-DirectoryStructure-SystemApp

第三方 App

从 App Store 下载的 App,或者通过 XCode 安装的 App,都存放在以下目录:

1
/var/containers/Bundle/Application/

iOS-DirectoryStructure-InstallApp

沙盒目录

App 处于安全考虑,在非越狱环境下,只能运行在自己的沙盒目录下。沙盒包含的目录如图:

iOS-DirectoryStructure-Sandbox

其中,App 的执行文件的存储目录参考上文,数据文件的存储目录路径为:

1
/var/mobile/Containers/Data/Application/

iOS-DirectoryStructure-CommonDirs

除此以外,还有在运行时获取的 iCloud 目录等。

针对沙盒目录,区别为:

目录 文件 备份(iTunes or iCloud)
App 不能写入 不备份
Documents 存储用户创建的文件,例如用户自己创建的编辑文件,音乐等 备份
tmp 存储单次运行的临时文件,最好在不需要时,立即删除,节省硬盘空间,系统也会周期性地清除该目录 不备份
Library/Inbox 存储可能被外部调用的文件,例如邮件的附件,可以读取或者删除,但不能创建或者写入 备份
Library/Application support 存储 App 辅助文件,例如配置文件,模板文件,地图底图文件等 备份
Library/Preferences 存储 NSUserDefaults 文件 备份
Library/Caches 存储缓存文件,例如,网页缓存文件,数据库缓存文件等,与临时文件的区别在于可能多次运行有效,注意系统也可能会清空该目录,此时需要重新创建或者下载缓存文件。 不备份