iOS文件系统

  在iOS系统中,每个APP的文件都是独立的, 一个APP大部分处理的文件系统仅限于app的沙盒文件夹.新的APP安装的时候,会产生一系列的文件目录,如下图所示:

                                                   

  下面分开介绍一下:

  AppName.app: 包含app和响应的资源等

  Documents: 储存用户产生的数据,这个文件夹里面的数据能够被用户所操作,能够被itune备份.

  Documents/Inbox:  如果APP允许其他应用打开,这就将其他应用能使用的文件放在这个文件中.

  Library: 里面有几个文件夹, Cache:存放缓存, Preference:存放一些配置信息, NSUserDefault的信息就放在这个文件夹里面. 这里面放的文件是不让用户直接操作的数据.

  tmp: 临时文件夹,储存一些临时信息,程序退出时会被清除

  如何获取这个文件路径:  

//获取程序主目录
NSHomeDirectory();
//获取程序目录
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSApplicationDirectory, NSUserDomainMask, YES);

//Document目录
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentPath = [paths objectAtIndex:0];
//Library目录
NSString *libraryPath = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0];
//Preference目录
NSString *preferencePath = [libraryPath stringByAppendingFormat:@"/Preference"]; 

//Cache目录
NSString *cachePath = [libraryPath stringByAppendingFormat:@"/Caches"];
//tmp目录
NSString * tmpPath = [NSHomeDirectory() stringByAppendingFormat:@"/tmp"]; 

  

时间: 2024-12-23 02:44:22

iOS文件系统的相关文章

IOS 文件系统

一.文件目录 ios中每个应用程序都是一个沙盒,有自己的沙盒目录,app之间无法访问对方的沙盒文件. 三种沙盒目录: library:系统存放文件 documents:存放长期使用的文件 temp:临时目录,app重启时,该目录下的文件清空 获取沙盒目录,有两种方式: 1.手动拼接 NSString *homePath = NSHomeDirectory(); NSLog(@"沙盒目录:%@",homePath); 2.直接使用api NSArray *array = NSSearch

隐匿在iOS文件系统中的隐私信息

说明: 1. 本文仅供安全学习及教学用途,提及的部分技术带有攻击性,请确保合法使用. 2. “这些都不是我干的,我就负责说出来.” 3. 图片仅供参考. 4. 本文所讨论的内容适用于iOS 8.4环境,其应用程序数据文件夹在/var/mobile/Containers/Data/.不同系统版本的文件位置以及内容形式有差异 0×00 前言 女神是神奇的,那天她找我,问我怎么把她越狱iPhone的iapfree卸载.我拿来看,发现她很不机智,把对应的软件源删除了.憋住笑,我边给她科普软件源,apt,

详解ios文件系统文件目录读写操作-备用

iPhone文件读写系统操作教程是本文要介绍的内容,对于一个运行在iPhone得app,它只能访问自己根目录下得一些文件(所谓sandbox).一个app发布到iPhone上后,它得目录结构如下:  1.其中获取 app root 可以用 NSHomeDirectory() 访问到:  2.Documents 目录就是我们可以用来写入并保存文件得地方,一般可通过以下代码获取, NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocum

iOS底层基础知识-文件目录结构

一:iOS沙盒知识 出于安全考虑,iOS系统把每个应用以及数据都放到一个沙盒(sandbox)里面,应用只能访问自己沙盒目录里面的文件.网络资源等(也有例外,比如系统通讯录.照相机.照片等能在用户授权的情况下被第三方应用访问) 1:MyApp.app 该目录包含了应用程序本身的数据,程序打包的时候的资源文件和一些本地文件就是存放在这个目录下的. 程序的可执行程序.plist文件也在这个目录下. 这个目录不会被iTunes同步 2:Documents 使用这个目录来保存关键数据.关键数据指那些应用

iOS 数据持久化4种方式

iOS 4种讲数据持久存储到iOS文件的系统机制: 属性列表(NSUserDefaults.plist文件) 对象归档(NSCoding) iOS嵌入式关系数据库(SQLite3) 苹果提供的持久化工具(Core Data) 说道数据持久化都涉及到一个共同的要素.既然是把数据持久存储到iOS文件系统中,那么久涉及到了应用沙盒. 可以尝试使用Xcode建立一个空的应用,然后打开应用目录可以查看到有以下文件 1.Documents ①存放内容 我们可以将应用程序的数据文件保存在该目录下.不过这些数据

IOS持久化数据----(保存数据的一系列方法

数据持久存储到IOS文件系统中有三种不同的机制:属性列表,对象归档,嵌入式数据库SQLite3(另外还有其他方法,可以用传统的C IO函数读取或者写入数据,也可以使用Cocoa的低级文件管理工具) 每一个应用程序支持三个文件夹 Documents, Library 和 tmp.应用程序将其数据存储在Documents中,(但基于NSUserDefaults的首选设置除外,它存储在Library/Preferences文件夹中),当ios设备同步时,不会去备份/tmp中的文件. 1. 下面这句话将

iOS中对文件的操作

转自:http://marshal.easymorse.com/archives/3340 iOS中对文件的操作 因为应用是在沙箱(sandbox)中的,在文件读写权限上受到限制,只能在几个目录下读写文件: Documents:应用中用户数据可以放在这里,iTunes备份和恢复的时候会包括此目录 tmp:存放临时文件,iTunes不会备份和恢复此目录,此目录下文件可能会在应用退出后删除 Library/Caches:存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用退出删除 在Do

IOS – 添加Settings Bundle应用程序首选项到Settings应用程序

iPhone允许应用程序将自定义首选项添加到Settings应用程序中,开发者也可以以编程的方式指定这些设置,但添加到Settings应用程序的方式会提供一个友好的GUI.自定义首选项支持多种多样的数据交互风格,包括文本.密码.开关.滑块.以及二级选择页面.但这里应注意避免敏感信息. IOS应用程序存储信息的方式主要有三种: 1. 单例类NSUserDefaults:NSUserDefaults类的工作原理类似于NSDictionary,所有首选项都以键/值对的方式存储在NSUserDefaul

iOS核心面试题

1,请简述你对协议的理解?    protocol无论是在那个领域都是一种约束,规范.在OC中的协议主要用于在各个类之间进行回调传值. 协议有 委托方,代理方, 委托方是协议的制定者,需要声明协议的方法,实现协议的对象.代理方,是协议的遵守着,需要遵守协议,并实现协议中的必要方法. 2,如何理解ARC自动引用计数机制? Cocoa采用了引用计数(referencecounting)机制,每一个对象有一个关联的“整数retainCount”用于记录对象的使用情况.对象被引用时retaincount