官方文档

本文使用到的来自Apple的代码,文本以及图片,版权属于Apple.

IOS File System

iOS 10.3以后使用APFS文件系统。

沙盒模式

iOS上的文件系统结构是为了让每个App独立运行而设计的。沙盒文件夹(Sandbox)是App的活动边界,其下分多个容器文件夹(Container):

  • Bundle Container 存放程序包
  • Data Container 用户数据和应用产生的数据
  • iCloud Container

一般来说,应用不能访问超出其自身的沙盒边界。例外情况是应用需要访问系统公有资源,例如Contacts, Photos, Music等等,系统框架会协助App完成这些资源的调取。

常用文件夹

路径 描述
AppName.app Bundle Container. 只读。不备份
Documents/ 用户数据;读写;外部可见;备份
Documents/Inbox 其他应用传入的数据;可读可删除,不可新增或修改;备份
Library/ 非用户数据;读写;备份(除cache文件夹)
tmp/ 临时文件;读写;不备份;可能定时由系统清除