【Sandbox介绍】
1)应用程序之间相互隔离
2)为应用程序构建一个完整的运行空间
3)应用程序有自己的缓存和数据备份
【Sandbox目录结构】
1)Documents - 可读写(文档数据可备份)
2)HelloWorld.app - 只读(二进制文件)
3)Library - 可读写(缓存比如照片)
4)Tmp - 可读写(临时)
App Home | HelloWorld.app |
|
Documents |
| |
Library | Caches | |
Tmp |
|
【App Home所在Sandbox目录】
1)模拟器:
/Library/Application Support/iPhone Simulator/6.0/Applications/应用哈希吗
2)真机:
/var/mobile/Application/应用哈希吗
【获取App Home目录】
NSString *homeDirectory = NSHomeDirectory();
【获取HelloWorld.app目录】
NSString *appPath = [[NSBundle mainBundle] bundlePath];
【获取Document目录】
NSArray *paths = NSSearchPathForDirectorsInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *path = [paths ObjectAtIndex:0];
【获取Library目录】
NSArray *paths = NSSearchPathForDirectorsInDomains(NSLibraryDirectory,NSUserDomainMask,YES);
NSString *path = [paths ObjectAtIndex:0];
【获取Caches目录】
NSArray *paths = NSSearchPathForDirectorsInDomains(NSCachesDirector,NSUserDomainMask,YES);
NSString *path = [paths ObjectAtIndex:0];
【获取Tmp目录】
NSString *tmpDir = NSTemporaryDirectory();
【导入图片】
项目—>右键—>add file to ‘项目名'(两种方式介绍)
1)Create Groups for any added folders
黄色,文件夹是假的,最后会拷贝到HelloWorld.app里,文件名字不能重名,重名会被覆盖。
2)Create folders references for any added floders
蓝色,文件夹是真实的,会拷贝到HelloWorld.app里。
【获取图片路径】
1)黄色
NSString *pic1path = [[NSBundle mainBundle] pathForResource:@"balls" ofType:@"png"];
2)蓝色
方式1:
NSString *pic1Path = [[NSBundle mainBundle] pathForResource:@"balls" ofType:@"png" inDirectory:@"ios"];
方式2:
NSString *pic2Path = [[NSBundle mainBundle] pathForResource:@"balls.png" ofType:nil inDirectory:@"ios"];
方式3:
NSString *pic3Path = [[NSBundle mainBundle] pathForResource:@“ios/balls.png" ofType:nil inDirectory:nil];