iOS之沙盒(Sandbox)机制
2016-02-26 18:00
633 查看
沙盒(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];
相关文章推荐
- 微软发布令牌漏洞公告:可绕过 Chromium 沙盒执行任意代码
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 100 个最佳 Ubuntu 应用(中)
- 在 AppImage、Flathub 和 Snapcraft 平台上搜索 Linux 应用
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 24 个必备的 Linux 应用程序
- 注册表趣味应用小集
- 远程控制技术的应用
- 路由器访问列表的应用
- xDSL技术及其应用
- 基于XML的桌面应用
- SQL Server 2008 R2 应用及多服务器管理
- ExtJS 2.0实用简明教程之应用ExtJS
- JSP应用的安全问题
- 前端开发必须知道的JS之闭包及应用