沙盒总结
来源:互联网 发布:线程间传递数据 编辑:程序博客网 时间:2024/05/16 11:04
在模拟器中运行iOS程序,都会为该程序创建一个沙盒(SandBox),应用沙盒就是文件系统目录,与其他文件系统隔离。应用必须待在自己的沙盒里,其他应用不能访问该沙盒应用沙盒的文件系统目录。
1、每个应用程序都有自己的存储空间
2、应用程序不能翻过自己的围墙去访问别的存储空间的内容
3、应用程序请求的数据都要通过权限检测,假如不符合条件的话,不会被放行。
1.结构
应用沙盒目录的常见获取方式:
沙盒根目录:NSString *homePath =NSHomeDirectory(); Documents:最常用的目录,iTunes同步该应用时会同步此文件夹中的内容,适合存储重要数据。这里面存的数据会被上传,所以不要放比较大的文件夹(例如音频,视频) //程序中得到Documents路径 NSString * filePathOfDocuments = NSSearchPathForDirectoriesInDomains ( NSDocumentDirectory ,NSUserDomainMask , YES ) . lastObject ; Library->Caches:缓存文件,iTunes不会同步此文件夹,适合存储体积大,不需要备份的非重要数据。 //得到Caches路径 NSString *filePathOfCaches = NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask, YES).lastObject; Library->Preferences:iTunes同步该应用时会同步此文件夹中的内容,通常保存应用的设置信息。 tmp:iTunes不会同步此文件夹,系统可能在应用没运行时就删除该目录下的文件,所以此目录适合保存应用中的一些临时文件,用完就删除。 //得到tmp路径 NSString *filePathOfTmp = NSTemporaryDirectory();
2. 每次运行程序,沙盒所有路径都会改变
例子:这是我同一个工程运行两次后得到的两次不同的沙盒地址:
/Users/lanou3g/Library/Developer/CoreSimulator/Devices/2F90FE1A-A9A6-460F-85AC-5A84A660857A/data/Containers/Data/Application/F92AB308-07EF-4DA1-AEF8-0DF7B42506EA
/Users/lanou3g/Library/Developer/CoreSimulator/Devices/2F90FE1A-A9A6-460F-85AC-5A84A660857A/data/Containers/Data/Application/1E37E9BB-9C57-4465-910A-3FF2C82FEE7A
3.沙盒技术
Sandbox——————沙箱(sandbox)允许从任何源下载代码,除非对它施加限制。JAVA使用的JAVA sandbox阻止不安全的applets访问应用。 Security Managet—安全管理器定义了sandbox的边界。JAVA API 在允许它访问任何资源之前,涉及到安全管理器。
另: 沙盒安全模型限制对资源的访问,它将本地代码标注为可信赖的,同时将远程代码标注为不可信赖的。这样,本地代码对所有资源拥有完全的访问权,面远程代码在访问系统资源就会受到限制。 如果标注远程代码为可信赖的,那么在这种沙盒模型中出现一个签名远程代码的概念,就是说,如果远程代码带有数字签名标明它是受信赖的,那么这个远程代码将被视为本地代码。有权访问所有系统资源。
- 沙盒总结
- iOS沙盒机制总结
- IOS-沙盒相关内容总结
- java沙盒安全架构总结
- iOS沙盒机制(SandBox) 总结
- iOS开发总结之沙盒存储
- (sandbox)沙盒文件获取总结
- (sandbox)沙盒文件获取总结
- iOS开发总结之沙盒存储
- 弹性盒模型总结
- CSS盒模式总结
- iOS学习总结之沙盒和归档
- iOS沙盒路径总结及存储方法
- 总结
- 总结
- 总结
- 总结
- 总结!
- 解决:ScrollView中嵌套ListView 使得listview上下滑动卡顿现象
- 利用java反射技术把ResultSet装换为List
- Boyer-Moore算法
- hadoop伪分布式(单机版)安装,Linux
- scaleY属性动画中多个参数的含义
- 沙盒总结
- sql 创建新用户并授权
- 100msh interview
- List比较大小 - Collections.sort
- NYOJ-119-士兵杀敌(三)(RMQ)
- js面向对象
- iOS开发之带有渐变色的进度条
- Oracle 11g 64位 下载
- SQLite数据库的简单操作