沙盒(sandbox) 及 NSFileManager

每个APP程序只能在自己创建的文件系统区域中读取文件,此区域称为沙盒。所有的非代码文件都存储在此区域。

 

模拟器沙盒目录

1.    前往文件夹:/Users/XX(用户)/Library/Developer/CoreSimulator/Devices/,如图1所示

图1

2.查看Devices文件夹中“device_set.plist”文件,找到具体的模拟器,如图2所示。

图2

3.进入到模拟器文件夹后,查看到文件结构如图3所示。

图3

 

文件夹/目录

说明

iTunes备份和恢复

重启

Documents

一般用于存放应用中建立的文件,如数据库

包含

保存

Library

存储应用的默认设置及状态信息

包含

保存

Library/cache

用来存放缓存文件

不包含

保存

Tmp

临时文件夹

不包含

清除

 


Bundle与sandbox区别

1.    目录获取

bundle:

[[NSBundlemainBundle] pathForResource:@"MyPlist" ofType:@"plist"];

sandbox:

获取程序的Home目录
NSString*homeDirectory = NSHomeDirectory();
         
获取document目录
NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);
NSString *path =[paths objectAtIndex:0];
	 
获取Cache目录
NSArray *paths =NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *path =[paths objectAtIndex:0];
	 
获取Library目录
NSArray *paths =NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *path =[paths objectAtIndex:0];
	 
获取tmp目录
NSString *tmpDir= NSTemporaryDirectory();

 

2 内容存放

Bundle一般存放APP的可执行文件和资源文件(图像,图标等)

Sandbox 只是说明程序资源与外界隔离

 

NSFileManager

文件操作可使用NSFileManager类。

NSFileManager*fileManager = [NSFileManager defaultManager];
//更改到待操作的目录下
NSString*documentsDirectory = @"";//目录
[fileManagerchangeCurrentDirectoryPath:[documentsDirectory stringByExpandingTildeInPath]];
//创建文件
createFileAtPath
//删除文件
removeItemAtPath

更多内容可查看苹果官方文档
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值