每个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
更多内容可查看苹果官方文档