A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 用晦而明 中级黑马   /  2015-8-21 13:30  /  419 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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"];

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马