沙盒(SandBox)
iOS 应用沙盒机制就是指 iOS 应用程序只能在为该程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等。(ios8之前是这个样子,iOS8新开放了一种对几个固定系统区域的扩展机制 extension,它可以在一定程度上弥补iOS的沙盒机制对应用间通信的限制)。应用沙盒机制下,每个应用程序都有自己的存储空间 ;应用程序不能翻过自己的围墙去访问别的存储空间的内容 ;应用程序请求的数据都要通过权限检测,假如不符合条件的话,不会被放行。
应用的沙盒结构如图:

应用沙盒一般包括以下几个文件目录:应用程序包、Documents、Libaray(Caches/Preferences)、tmp。
// .h
/** 路径管理者 */
@interface BDPathManager : NSObject /**
* 获取沙盒Document的文件目录
*
* @return 返回目录
*/
+ (NSString *)getDocumentDirectory; /**
* 获取沙盒Library的文件目录
*
* @return 返回目录
*/
+ (NSString *)getLibraryDirectory; /**
* 获取沙盒Library/Caches的文件目录
*
* @return 返回目录
*/
+ (NSString *)getCachesDirectory; /**
* 获取沙盒Preference的文件目录
*
* @return 返回目录
*/
+ (NSString *)getPreferencePanesDirectory; /**
* 获取沙盒tmp的文件目录
*
* @return 返回目录
*/
+ (NSString *)getTempDirectory;
// .m
@implementation BDPathManager + (NSString *)getDocumentDirectory{
return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
} + (NSString *)getLibraryDirectory{
return [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject];
} + (NSString *)getCachesDirectory{
return [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
} + (NSString *)getPreferencePanesDirectory{
return [NSSearchPathForDirectoriesInDomains(NSPreferencePanesDirectory, NSUserDomainMask, YES) lastObject];
} + (NSString *)getTempDirectory{
return NSTemporaryDirectory();
}
@end
方便快速获得需要的路径!
/**
* @brief 创建一个目录搜索路径列表
*
* @param directory 文件类型(不同枚举值获取不同文件的路径)。
* @param domainMask 一般为 NSUserDomainMask,表示在用户文件夹下查找。
* @param expandTilde 一般为YES(NO,获取不到路径,而是在前面加了~)
*
* @return 返回存放路径的数组
*/
NSArray<NSString *> *NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory directory, NSSearchPathDomainMask domainMask, BOOL expandTilde);
沙盒(SandBox)的更多相关文章
- 沙盒SandBox
每个App都有自己的沙盒,也就是一个存储空间.App之间没有权限访问对方的沙盒资源.沙盒的目录下有三个文件夹:Documents.Library.temp 目录结构 Documents:用于存储用户数 ...
- IOS学习之IOS沙盒(sandbox)机制和文件操作
IOS学习之IOS沙盒(sandbox)机制和文件操作(一) 1.IOS沙盒机制 IOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都 ...
- iOS应用软件沙盒sandbox相关知识(整理)
1.iOS沙盒机制原理 iOS应用程序只能在该程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等. ...
- iOS学习之iOS沙盒(sandbox)机制和文件操作1
iOS学习之iOS沙盒(sandbox)机制和文件操作 接上篇 iOS学习之iOS沙盒(sandbox)机制和文件操作(一) 我们看看如何获取应用程序沙盒目录.包括真机的沙盒的目录. 1.获取程序的H ...
- IOS沙盒(sandbox)机制和文件操作
IOS学习之IOS沙盒(sandbox)机制和文件操作 作者:totogo2010 ,发布于2012-9-21,来源:CSDN 目录: IOS学习之IOS沙盒(sandbox)机制和文件操作( ...
- IOS 学习之 iOS沙盒(sandbox) 介绍 沙盒机制 文件操作(一)
1.iOS沙盒机制 iOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等. ...
- 数据存储--沙盒sandBox
默认情况下,每个沙盒必含有3个文件夹:Documents, Library 和 tmp 一.沙盒(sandbox)出于安全的目的,应用程序只能将自己的数据和偏好设置写入到几个特定的位置上.当应用程序被 ...
- iOS 沙盒(sandbox)机制和文件操作
本文参看了 http://www.uml.org.cn/mobiledev/201209211.asp#1 这篇文章中的介绍,尊重原著. 1.IOS沙盒机制 IOS应用程序只能在本应用程序中创建的文件 ...
- iOS学习之iOS沙盒(sandbox)机制和文件操作(一)
1.iOS沙盒机制 iOS应用程序仅仅能在为该改程序创建的文件系统中读取文件,不能够去其他地方訪问,此区域被成为沙盒,所以全部的非代码文件都要保存在此,比如图像,图标,声音,映像,属性列表,文本文件等 ...
- iOS开发-沙盒(sandbox)机制
苹果前天发的财报,貌似现在用ios系统的比以前又多了一些,但是大家的iPhone购买的渠道也是五花八门,有的从非正规渠道购买的iPhone里的操作系统已经被越狱过,越狱这个事情和Android的roo ...
随机推荐
- Vue培训项目总结
昨天是最后一次给同事进行Vue的培训,这次培训主要是以基础入门为主. 整篇讲义参考了一些文章:https://gitbook.cn/gitchat/column/5a4af1c5658b7c0d9eb ...
- IOS 版本控制判断
// 版本判断#define SYSTEM_VERSION(ver) [[[UIDevice currentDevice] systemVersion] compare:ver] != NSOrder ...
- 03.Jquery Mobile中的按钮
一. 基础按钮 1.设置链接的data-role,使其变成按钮. <a href="index.html" data-role="button">L ...
- Sass 愿景
在最近的一个 CSS 见面会上,我向与会者提问,“有人会在日常的工作流中使用 Sass 吗?”回答结果压倒性的表示肯定——保守谨慎地使用 Sass 已经成为过去式.Sass 正迅速成长为编写 CSS ...
- 转Keil 中使用 STM32F4xx 硬件浮点单元
Keil 中使用 STM32F4xx 硬件浮点单元一.前言有工程师反应说 Keil 下无法使用 STM32F4xx 硬件浮点单元, 导致当运算浮点时运算时间过长,还有 一些人反应不知如何使用芯片芯片内 ...
- linux网卡软中断shell脚本
LANG=C;export LANG; service irqbalance stop >/dev/null 2>&1;chkconfig irqbalance off; bon ...
- 使用 xib 设置 button 等款等高
很多时候需要使用平分的控件来布局,当然xib中可以之间使用 UIToolBar 使用 UIBarButtonItem 添加弹簧即可完成平均分布 但是,直接使用 button 也可以实现平均布局
- linux 环境下备份oracle 数据库
登陆linux后,进入oracle的安装目录下,找到bin那个目录,进入bin目录ls -l 看这些命令的所有者: su - oracle这时会进入这个用户的主目录/home/oracle,此时,可以 ...
- java的三大特性之一封装概述
属性: 属性static属性//静态成员变量/类变量 属性 //实例变量 普通成员变量 类变量,类方法 类变量是所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是同一个值,同样任何一个变量去 ...
- 如何正确配置 Nginx + PHP ???
本文转自如何正确配置 Nginx + PHP,如有侵权,请联系管理员及时删除!