沙盒机制介绍
iOS中的沙盒机制是一种安全体系。为了保证系统安全,iOS每个应用程序在安装时,会创建属于自己的沙盒文件(存储空间)。应用程序只能访问自身的沙盒文件,不能访问其他应用程序的沙盒文件,当应用程序需要向外部请求或接收数据时,都需要经过权限认证,否则,无法获取到数据。所有的非代码文件都要保存在此,例如属性文件plist、文本文件、图像、图标、媒体资源等,其原理是通过重定向技术,把程序生成和修改的文件定向到自身文件夹中。
沙盒的目录结构
每个APP的沙盒下面都有相似目录结构,如下图:
沙盒目录结构
获取应用程序的沙盒路径:
NSString *path = NSHomeDirectory();
模拟器沙盒路径
2018-05-15at10.13AM
真机沙盒路径
2018-05-15at11.09AM
注意:每次编译代码会生成新的沙盒路径, 注意是编译不是启动,所以模拟器或者真机运行你每次运行所得到的沙盒路径都是不一样,线上版本app真机不会生成新的沙盒路径
上面的代码得到的就是当前应用程序目录的路径,该目录下就是应用程序的沙盒,在该目录下有4个文件夹:Documents、Library、SystemData、tmp,当前应用程序只能访问该目录下的文件。
访问沙盒目录常用C函数介绍
//文件路径搜索