iOS之沙盒(Sandbox)机制

沙盒(Sandbox)

iOS的安全性结构可以在某种程序中保护应用程序的数据和系统免受安全漏洞的损害,iOS提供了一种机制使得每个应用程序都在自己的沙盒下。
1、沙盒规定了应用程序只能在为该应用创建的文件夹下读取文件,不能访问其他应用程序的沙盒内容。
2、应用程序间不能共享数据,沙盒里的文件不能被复制到其他应用程序中,也不能把其他应用程序文件夹中的文件复制到沙盒里。
3、苹果禁止读、写沙盒以外的文件,禁止应用程序将内容写到沙盒外的文件夹中。
4、沙盒目录下有三个文件夹:
Documents,一般把应用的数据文件存在这个文件夹里,用于存储用户数据或其他应该定期备份的信息。
Library,该文件夹下有两个子文件夹,Caches存储应用程序再次启动所需的信息,Preferences包含应用程序偏好设置文件(ps:不要在这里修改偏好设置)。
tmp,存放临时文件,即应用程序再次启动不需要的文件。如下图

获取沙盒路径的方法有两种

1、用NSHomeDirectory获取

    NSString* path = NSHomeDirectory();

2、通过用户名来获取

 NSString* userName = NSUserName();//获取创建该应用程序的用户名
    NSString* rootPath = NSHomeDirectoryForUser(userName);

获取Document路径

我们可以通过NSSearchPathDirectoriesInDomains()函数来获取沙盒路径

NSString* pathStr = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
pathStr = [pathStr stringByAppendingPathComponent:@"1.txt"];//在document目录下添加文件

获取tmp路径

NSString* tempPath = NSTemporaryDirectory();//获取tmp目录,因为是临时文件夹,程序退出后会清除

获取cache路径

NSString* cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值