IOS数据存储 —— 1 沙盒(数据存储目录)
沙盒结构
沙盒的文件系统⽬录,如下图所示(假设应用的名称叫Layer)
1、Documents 目录
您应该将所有的应用程序数据文件写入到这个目录下。
这个目录用于存储用户数据或其它应该定期备份的信息。
保存由应用程序产生的文件或者数据,例如:涂鸦程序生成的图片,游戏关卡记录
iCloud会自动备份Document中的所有文件。
上架注意 如果保存了从网络上下载的文件,在上架审批的时候会被拒!
2、AppName.app 目录:这是应用程序的程序包目录,包含应用程序的本身。由于应用程序必须经过签名,所以您在运行时不能对这个目录中的内容进行修改,否则可能会使应用程序无法启动。
3、Library 目录:这个目录下有两个子目录:Caches 和 Preferences
Preferences 目录:包含应用程序的偏好设置文件。您不应该直接创建偏好设置文件,而是应该使用NSUserDefaults类来取得和设置应用程序的偏好.
系统偏好,用户偏好,通过[NSUserDefaults standarDefaults]来直接操作
Caches 目录:用于存放应用程序专用的支持文件,保存应用程序再次启动过程中需要的信息。
缓存,保存网络下载的文件,后续仍然需要继续使用。例如:网络下载的离线数据
缓存目录中的文件系统不会自动删除,可做离线访问
程序必需要提供一个完善的清除缓存目录的“解决方案”!
4、tmp 目录:用于存放临时文件(临时数据),保存应用程序再次启动过程中不需要的信息。
临时文件,保存在tmp中的文件,系统会自动回收,譬如磁盘空间紧张、重新启动手机、应用退出后删除
程序员不需要管tmp文件夹的释放
IOS中获取目录的方法:
在Unix风格的操作系统里(包括BSD, GNU/Linux 和 Mac OS X),通常用波浪号“~”来表示当前用户的主目录(home目录)
1,获取根目录路径的函数:
// 获取沙盒根目录路径 NSString *homeDir = NSHomeDirectory();
2,获取Documents目录路径的方法:
// 获取Documents目录路径 // 使用 NSSearchPathForDirectoriesInDomains 只能定位Caches目录和Documents目录 NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];// 模拟器输出结果 /Users/admin/Library/Developer/CoreSimulator/Devices/8BC4B18D-BC36-423D-84A1-9F6F0A0F7751/data/Containers/Data/Application/0FE9822D-164B-4981-850F-5A73CE64E503/Documents
3,获取Caches目录路径的方法:
// 获取Caches目录路径 NSString *dir = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastobject];// 模拟器输出结果 /Users/admin/Library/Developer/CoreSimulator/Devices/8BC4B18D-BC36-423D-84A1-9F6F0A0F7751/data/Containers/Data/Application/29D35D5E-46E3-4FAB-8BB4-106124919B6A/Library/Caches
4,获取tmp目录路径的方法:
// 获取tmp目录路径 NSString *tmpDir = NSTemporaryDirectory();
5,获取应用程序程序包中资源文件路径的方法:
// 例如获取程序包中一个图片资源(apple.png)路径的方法 // 代码中的mainBundle类方法用于返回一个代表应用程序包的对象。 NSString *imagePath = [[NSBundle mainBundle] pathForResource:@”apple” ofType:@”png”]; UIImage *appleImage = [[UIImage alloc] initWithContentsOfFile:imagePath];
转载于:https://www.cnblogs.com/qinrui/p/4731412.html
IOS数据存储 —— 1 沙盒(数据存储目录)相关推荐
- iOS 照片存储到沙盒 和读取
iOS 照片存储到沙盒 和读取 这里介绍简单的ios照片保存到沙盒,然后读取出来. 1. 照片保存到沙盒 UIImage *image=[UIImage imageNamed:@"20141 ...
- Android中WebView的跨域漏洞分析和应用被克隆问题情景还原(免Root获取应用沙盒数据)...
一.前言 去年年底支付宝的被克隆漏洞被爆出,无独有偶就是腾讯干的,其实真正了解这个事件之后会发现,感觉是针对支付宝.因为这个漏洞找出肯定花费了很大劲,主要是因为支付宝的特殊业务需要开启了WebView ...
- iOS篇之有沙盒缓存
内存指的就是主板上的存储部件,是CPU直接与之沟通,并用其存储数据的部件,存放当前正在使用的(即执行中)的数据和程序,它的物理实质就是一组或多组具备数据输入输出和数据存储功能的集成电路,内存只用于暂时 ...
- ios沙箱软件_iOS沙盒获取
屏幕快照 2017-04-11 上午11.08.53.png 1.获取沙盒中home目录(主目录,沙盒的最外层)的路径 NSString *homeDir = NSHomeDirectory(); N ...
- IOS模拟登录之沙盒原理
IOS模拟登录之沙盒原理 info.plist 文件
- android 沙盒存储,Android Q存储机制-沙盒机制
Android Q文件存储机制修改成了沙盒模式 应用只能访问自己沙盒下的文件和公共媒体文件 存储(也就是write)私有目录和公共媒体文件都不需要WRITE_EXTERNAL_STORAGE权限 读取 ...
- Neo4j 沙盒数据导入到本地 Neo4j 数据库
在Neo4j 沙盒实验申请使用过程中提到过,Neo4j 沙盒里面的数据还是非常好的,可以用来做一些实验,所以这篇文章就来介绍一下我将 Neo4j 沙盒中的数据导入到自己的 Neo4j 数据库的方法. ...
- iOS学习7:iOS沙盒(sandBox)机制(一)之获取沙盒路径及目录说明(转)
转:http://my.oschina.net/joanfen/blog/151145 一.iOS沙盒机制 iOS的应用只能访问为该应用创建的区域,不可访问其他区域,应用的其他非代码文件都存在此目录下 ...
- iOS打开沙盒html,ios 开发中,沙盒目录解释
在iPhone的沙箱模型有四个文件夹,分别是documents.tmp.app.library. 创建文件的时候会先创建文件的路径,方法如下: 1.Documents:这是文档目录.有关应用的所有数据 ...
最新文章
- python对象编程例子-python面向对象编程练习
- outlook 发送邮件!
- 通过自动化机器学习对抗Java恶意软件
- 一年学遍吴恩达、李飞飞、周志华等16大精品课!(ML、CV、NLP一应俱全)
- jpa批量保存,事务没提交_在事务外自动保存托管JPA实体
- ArcEngine实现pagelayout中文本元素的属性对话框
- u-boot中断功能初步分析之---------按键中断
- Ozone SCM HA设计浅谈
- python turtle菜鸟教程_Python 基础教程
- 11年的macbook还能用吗_致我2011年买的macbook pro 15寸一封信
- 内卷机器下的自我救赎
- 二倍图三倍图什么意思_小程序有二倍图三倍图使用的必要吗?
- 为什么DataGridView不出现滚动条?它的ScrollBars属性我设置为Both了
- Git patch的使用方法和场景
- 英语单词词性顺口溜_英语单词速记顺口溜背诵技巧
- [codevs1746][NOI2002]贪吃的九头龙
- 阿里云盘小白羊版,带分享功能可转存115文件的第三方客户端
- 暗黑系王者,低照度图像增强技术解析
- 计算机硬件软件的英语,计算机软件和硬件,PC computer software and hardware,音标,读音,翻译,英文例句,英语词典...
- SSM项目图书馆管理系统,适合新人练手和毕设参考,功能首页展示 系统注册登录登出 用户管理 权限控制管理 书籍管理 图书借阅管理 个人借阅记录管理 书籍详细信息展示等