iOS沙盒机制
概念
应用沙盒就是文件系统目录,与其他应用的文件系统隔离
iOS不允许访问其他应用的应用沙盒
扩展阅读
extension 是iOS8新开放的一种对几个固定系统区域的扩展机制,弥补iOS的沙盒机制对应用间通信的限制。
应用沙盒一般包括以下几个文件目录:应用程序包,Documents,Libaray(下面有Caches和Preferences目录),tmp
应用程序包:包含所有的资源文件和可执行文件。
Document:保存应用程序运行时生成的需要持久化的数据,iTunes会自动备份该目录。
tmp:保存应用运行时所需要的临时数据,使用完毕后再将相应的文件从该目录删除。iPhone重启时该目录的文件会丢失
Library:存储程序默认设置和其他状态信息。iTune会自动备份该目录
Library/Caches:存放缓存文件,吃目录下文件不会在应用退出删除。
Library/Preferences:保存应用的所有偏好设置,ios的Settings应用会在该目录中查找应用的设置信息,iTues会自动备份该目录。
沙盒路径的获取方法
获取沙盒根目录
NSString *sandBoxPath=NSHomeDirectory();
沙盒的路径
NSHomeDirectory();
Dcuments路径
NSSearchPahForDirectoriesInDomains返回一个绝对路径用来存放我们需要存储的文件,是一个函数。
第一个参数要获取的沙盒文件夹名称
第二个参数是否在当前的主目录或其他
NSUserDomainMask=1 用户主目录中
NSLocalDomainMask=2 当前机器中
NSNetworkDomainMask=4 网络中可见的主机
NSSytemDomainMask=8 系统目录,不可修改
NSAllDomainsMask=0x0ffff 全部
第三个参数是否获取全路径
NSArray *paths=NSSearchPahForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
tmp路径
NSString *tmpDir=NSTemporaryDirectory();
Library路径
NSSearchPahForDirectoriesInDomains(NSCachesDirectory
在沙盒中创建文件夹
NSArray *paths=NSSearchPahForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *path=[[arrs lastObject] stringByAppendingPathComponent:@"test/a.txt"];
|
|