博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS 沙盒目录结构介绍
阅读量:5144 次
发布时间:2019-06-13

本文共 1448 字,大约阅读时间需要 4 分钟。

iOS系统中,每个应用都有自己的沙盒,且应用只能访问其对应的沙盒目录下面的文件。当然,在用户授权的情况下,应用也可以访问其他目录下面的文件。比如,用户授权情况下,应用可以访问相册、通讯录。在开发中,经常会涉及到 iOS 沙盒目录,比如读写文件,归档解档等。

一:沙盒的目录结构

app的沙盒目录结构如下图:

可知,沙盒目录下有三个文件夹:Documents、Library、Temp。其中,Library下面有两个文件夹,分别是 Preferences 和 Caches。

二:每个目录下存放的文件

1: Documents 目录:用来存储用户数据,应该将所有的应用程序数据文件写入到该目录下。

2:Library 目录:(1)Preferences 目录:包含应用程序的偏好设置文件  (2)Caches 目录:用于存放应用程序专用的支持文件,保存应用程序再次启动过程中需要的信息。

3:Temp目录:用于存放临时文件,保存应用程序再次启动过程中不需要的信息。

三:获取沙盒目录的方法

获取沙盒目录路径可以通过 NSSearchPathForDirectoriesInDomains 方法,该方法有三个参数:

1:directory NSSearchPathDirectory类型的enum值,表情要搜索的目录名称。

2:domainMask NSSearchPathDomainMask类型的enum值,指定搜索范围。通常情况下是NSUserDomainMask,表示搜索的范围限制于当前应用的沙盒目录。

3:expandTilde Bool值,表示返回的路径中是否展开~。如果是YES,表示展开,NO表示不展开。

获取沙盒目录路径的代码:

 

// 获取沙盒主目录路径NSString *homeDir = NSHomeDirectory();// 获取Documents目录路径NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];// 获取Library的目录路径NSString *libDir = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject];// 获取Caches目录路径NSString *cachesDir = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];// 获取tmp目录路径NSString *tmpDir =  NSTemporaryDirectory();

 

第三个参数为YES时的示例路径:

/var/mobile/Applications/DBAC1849-CF0A-435A-98FB-A7472C73EC42/Library/Caches/letuAllClassifyString.plist

第三个参数为NO时的示例路径:

~/Library/Caches/letuAllClassifyString.plist

 

转载于:https://www.cnblogs.com/acBool/p/5467060.html

你可能感兴趣的文章
前端 HTML body标签相关内容 常用标签 表格标签 table
查看>>
【SICP练习】126 练习3.57
查看>>
拟双飞翼布局
查看>>
vue router 根据不同的id切换链接界面不刷新
查看>>
数论:HDU1066-Last non-zero Digit in N!
查看>>
2015-2-10 ecshop
查看>>
REST API disable / enable service auto start by API
查看>>
[转] 17个自适应风格html5网页模板
查看>>
robotframework实战二---Jenkins连用
查看>>
鼠标事件记录
查看>>
Jquery IE 缓存问题
查看>>
【重要】优秀的应试应聘笔记
查看>>
"remote:error:refusing to update checked out branch:refs/heads/master"的解决办法
查看>>
站立会议09(冲刺二)
查看>>
linux 安装nginx
查看>>
BZOJ 1798: [Ahoi2009]Seq 维护序列seq
查看>>
开始写博客,学习Linq
查看>>
斜率优化dp
查看>>
Virtual box 虚拟机 不可使用的一种解决方法
查看>>
android异常总结一 :res\layout\OtherActivity.xml: Invalid file name: must contain only [a-z0-9_.]...
查看>>