一、简介
程序包:
AppName.app :这是应用程序的程序包目录,包含应用程序的本身。由于应用程序必须经过签名,所以您在运行时不能对这个目录中的内容进行修改,否则可能会使应用程序无法启动。
1、沙盒目录下包含三个文件:
doucuments:保存应用程序的重要数据文件和用户数据文件等。iTunes同步时会备份该目录
Library:
Caches: 保存应用程序使用时产生的支持文件和缓存文件,还有日志文件最好也放在这个目录中。iTunes同步时不会备份该目录。
Preferences: 保存应用程序的偏好设置文件(使用NSUserDefaults 类设置时创建,不该手动创建)。
tmp:保存应用运行时所需要的临时数据,iPhone重启时,会清除该目录下所有文件。
2、获取沙盒目录路径
1》根目录:
var homeDirectory: String =NSHomeDirectory()
2》cache目录:
swift:
var cachesPath: AnyObject =NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.CachesDirectory,NSSearchPathDomainMask.UserDomainMask,true)[0]
oc:
NSString *cachesDirectory = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject;
3》获取documents路径:
NSString*docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES) firstObject];
4》获取Library路径:
NSString*libDir = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask,YES) lastObject];
5》获取tmp目录路径:
NSString*tmpDir =NSTemporaryDirectory();
6》获取应用程序程序包中资源文件路径的方法:
NSLog(@"%@",[[NSBundlemainBundle] bundlePath]);NSString*imagePath = [[NSBundlemainBundle] pathForResource:@"apple"ofType:@"png"];UIImage*appleImage = [[UIImagealloc] initWithContentsOfFile:imagePath];
注意:程序包和沙盒目录并不在一个目录下
如:
沙盒根目录:
/Users/tiantianlicai/Library/Developer/CoreSimulator/Devices/B827BC67-F498-4D16-AA58-6C0BEAFC6413/data/Containers/Data/Application/FD620A35-BD74-420F-BAC3-20E6DA3B1343
程序包目录:
/Users/tiantianlicai/Library/Developer/CoreSimulator/Devices/B827BC67-F498-4D16-AA58-6C0BEAFC6413/data/Containers/Bundle/Application/946957C7-1C6D-44AF-B9DD-35E9C6093981/上传文件.app
网友评论