沙盒

2019-10-10  本文已影响0人  沉江小鱼

1. 沙盒机制介绍

iOS中的沙盒机制是一种安全体系。每个iOS程序都有一个独立的文件系统(存储空间),而且只能在对应的文件系统中进行操作,此区域被称为沙盒。应用必须待在自己的沙盒里,其他应用不能访问该沙盒。所有的非代码文件都要保存在此,例如属性文件plist、文本文件、图像、图标、媒体资源等。沙盒是用来存入缓冲区的,APP关掉,缓存被自动清理。

如下图所示:


屏幕快照 2019-10-10 上午11.00.41.png

2. 沙盒目录结构

2.1 /Documents/
2.2 /Library

这个目录下有两个子目录:

2.2.1 /Library/Caches(缓存)
2.2.2 /Library/Preferences 偏好
2.2.3 /tmp/

目录如图所示:


屏幕快照 2019-10-10 上午11.00.41.png

3. 常用路径

// 获取沙盒根目录路径
NSString*homeDir = NSHomeDirectory();

// 获取tmp目录路径
NSString*tmpDir =NSTemporaryDirectory();

// 获取Documents目录路径
NSString*docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES) firstObject];

//获取Library的目录路径
NSString*libDir = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask,YES) lastObject];

// 获取cache目录路径
NSString*cachesDir = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES) firstObject];


3.1 NSSearchPathForDirectoriesInDomains

NSSearchPathForDirectoriesInDomains方法用于查找目录,返回指定范围内的指定名称的目录的路径集合。有三个参数

FOUNDATION_EXPORT NSArray<NSString *> *NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory directory, NSSearchPathDomainMask domainMask, BOOL expandTilde);
上一篇 下一篇

猜你喜欢

热点阅读