ios 沙盒其实很简单(精华版)

      作为ios开发,其实很多时候要了解一些底层的东西才能有所进步,那么今天就来分享下经常面对的ios的沙盒存储吧。

      首先要理解什么是沙盒?

iOS中应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,这个区域就被称作沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等。

  打个比方吧,咱们去银行办事要讲规矩吧,另外银行也要安全的保障,不会让你随便的乱进入。当你需要访问办事情的时候,他会给你指定一个特定的区域让你去存取你的东西,而每个人也要遵守它的规章制度。

    那么这个特定的区域是什么的呢,就是沙盒呗,打开沙盒的主目录的方法说两个,都可以

   方法一:

NSString *path =NSHomeDirectory();//沙盒

NSLog(@"NSHomeDirectory:%@我是沙盒主目录",path);

方法二:

NSString *userName =NSUserName();//沙盒

NSString *rootPath =NSHomeDirectoryForUser(userName);

NSLog(@"NSHomeDirectoryForUser:%@我是沙盒主目录",rootPath);

沙盒的主目录里还装着其他的东西,就好比银行的金库里面子金库,分别存放不同的东西。

首先介绍第一个Application,它是程序文档目录,不存放东西,你去也去不了

下面是重点(也就是说你能去的子金库):

Document,library下面的Caches和Preferences,tmp

    Document:一般存放需要持久化存储的文件,iTunes会自动备份这个目录,文件比如说程序建立或者浏览到的文件数据等(反正不想让它消失或者重要的都放这里) 

    library中的Caches:指的就是缓存,也就是程序运行时临时的数据,比如你浏览的图片,视频什么的,iTunes不会备份这个目录,应用没有运行时,它可能会被清除,内存不足是会被清除(反正就是体积大,需要暂时持久化的数据,不重要的东西,比如图片,视频,这些从网上下载的东西就放这里)

    library中的Preference:指的是你的偏好设置,iTunes会自动备份这个目录,它存储一些偏好设置(比如用户名,密码,字体大小,夜间模式之类的)

 
  tmp:顾名思义,它就是存放临时文件的数据,iTunes不会备份这个目录,应用没有运行时,应用退出后会被清除。

 
 总结:需要长时间持久化存储的东西放在Document,不重要,但是体积大的交给library,最后临时的没用的拿给tmp(他们对我们程序员的重要性也依次递减)。

时间: 2024-10-07 19:09:08

ios 沙盒其实很简单(精华版)的相关文章

iOS学习之iOS沙盒(sandbox)机制和文件操作

iOS学习之iOS沙盒(sandbox)机制和文件操作(一) 1.iOS沙盒机制 IOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等. 1.1.每个应用程序都有自己的存储空间 1.2.应用程序不能翻过自己的围墙去访问别的存储空间的内容 1.3.应用程序请求的数据都要通过权限检测,假如不符合条件的话,不会被放行. 通过这张图只能从表层上理解sandbox是一种安全体系,应

IOS学习之IOS沙盒(sandbox)机制和文件操作之NSFileManager(三)

我们看看NSFileManager如何使用.包括创建文件,目录,删除,遍历目录等. 1.在Documents里创建目录 创建一个叫test的目录,先找到Documents的目录, NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSLog(

IOS 阶段学习第25天笔记(IOS沙盒机制介绍)

IOS学习(OC语言)知识点整理 一.IOS沙盒机制介绍 1)概念:每个ios应用都有自己的应用沙盒,应用沙盒就是文件系统目录,与其他应用放入文件 系统隔离,ios系统不允许访问 其他应用的应用沙盒,但在ios8中已经开放访问(extension) 2)extension是ios8新开放的一种对几个固定系统区域的拓展机制,它可以在一定程度上弥补ios的沙盒机制对应用间的通信限制 3)应用沙盒一般包括以下几个文件目录: 1.应用程序包:包含所有资源文件和可执行文件 2.Documents:保存应用

【转】IOS 沙盒机制及各个目录

IOS沙盒机制(SandBox) 原文http://www.cnblogs.com/taintain1984/archive/2013/03/19/2969201.html IOS中的沙盒机制(SandBox)是一种安全体系,它规定了应用程序只能在为该应用创建的文件夹内读取文件,不可以访问其他地方的内容.所有的非代码文件都保存在这个地方,比如图片.声音.属性列表和文本文件等. 1.每个应用程序都在自己的沙盒内 2.不能随意跨越自己的沙盒去访问别的应用程序沙盒的内容 3.应用程序向外请求或接收数据

iOS沙盒(SanBox)机制

1.IOS沙盒机制 IOS中的沙盒机制(SandBox)是一种安全体系,它规定了应用程序只能在为该应用创建的文件夹内读取文件,不可以访问其他地方的内容.所有的非代码文件都保存在这个地方,比如图片.声音.属性列表和文本文件等. 1.每个应用程序都在自己的沙盒内 2.不能随意跨越自己的沙盒去访问别的应用程序沙盒的内容 3.应用程序向外请求或接收数据都需要经过权限认证 2.查看模拟器沙盒文件夹 查看模拟器的沙盒文件夹在Mac电脑上的存储位置,文件都在个人用户名文件夹下的一个隐藏文件夹里,中文叫资源库,

iOS沙盒机制

第一.什么是沙盒 IOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒 第二.保存内容 所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等 第三.作用 iOS沙盒为程序运行提供了很好的安全保障 第四.目录 1.Documents目录:这个目录用于存储用户数据或其它应该定期备份的信息,苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录. 2.AppName.app 目录:这是

iOS沙盒

iOS沙盒中一共有四个文件夹 ------安装目录(r) -------Ducuments:长期存放用户文件或文件夹(rw) -------A.pp:mainBundle:存放可执行文件和资源文件(r) -------tmp:存放临时文件(r,w) -------Library -------caches:存放缓存文件(rw) 访问这些文件的方法: //获取根目录路径 NSString *home=NSHomeDirectory(); NSLog(@"%@",home);//打印出该路

iOS 沙盒目录结构介绍

iOS系统中,每个应用都有自己的沙盒,且应用只能访问其对应的沙盒目录下面的文件.当然,在用户授权的情况下,应用也可以访问其他目录下面的文件.比如,用户授权情况下,应用可以访问相册.通讯录.在开发中,经常会涉及到 iOS 沙盒目录,比如读写文件,归档解档等. 一:沙盒的目录结构 app的沙盒目录结构如下图: 可知,沙盒目录下有三个文件夹:Documents.Library.Temp.其中,Library下面有两个文件夹,分别是 Preferences 和 Caches. 二:每个目录下存放的文件

【理解】 iOS沙盒(sandbox)机制(一)

1.IOS沙盒机制 IOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等. 1.1.每个应用程序都有自己的存储空间 1.2.应用程序不能翻过自己的围墙去访问别的存储空间的内容 1.3.应用程序请求的数据都要通过权限检测,假如不符合条件的话,不会被放行. 通过这张图只能从表层上理解sandbox是一种安全体系,应用程序的所有操作都要通过这个体系来执行,其中核心内容是:san