1、沙盒机制介绍
iOS中沙盒机制是一种安全体系,对应着某片独立的存储空间。任意一个iOS移动端程序项目工程都有各自独立的文件系统(独立的存储空间),项目工程应用程序的各种操作效果数据的来源都只能在对应的独立的文件系统存储空间内进行(沙盒空间)。
应用程序项目工程的任何操作必然是在自己的沙盒对应的独立存储空间里进行操作,应用程序项目工程和独立的沙盒空间是彼此一一对应的。A应用程序不能访问B项目的沙盒。所有的非代码规则文件都要保存在对立的沙盒内存空间中(某片特殊特性的内存区域),例如属性文件plist、文本文件text、图像、图标、媒体资源等。沙盒这片特殊特性的内存区域是用来充当缓冲区的。当APP进入关闭模式,充当缓冲区的沙盒空间自动清理释放掉内容,还原设备空间,促使设备空间高效使用。
//调用C函数实例获取当前项目工程应用程序对应的独立沙盒空间的存储路径
NSLog(@“HomeDirectory=%@”,NSHomeDirectory());
HomeDirectory=/Users/haijunyan/Library/Developer/CoreSimulator/Devices/C43C9AE4-08DE-40AA-BA3F-F134F5C3BE93/data/Containers/Data/Application/5A22CCB5-ABD7-4E6E-BE54-E274DE11F695
/Users/haijunyan/Library/Developer此时映射内存条部分
2、缓内存区沙盒空间呈现出的目录层次结构
(1)/AppName.app 应用程序的程序包目录层次,包含了应用程序的本身体系。由于任意的应用程序必须经过签名,所以不能在运行时对程序包目录中的内容进行修改(破坏了约定规则),否则修改程序包破坏了约定规则会导致应用程序无法启动。
(2)/Documents/保存应用程序的重要数据文件和用户数据文件等。