iOS开发中,涉及到文件的下载,保存,上传,制作等等,需要我们去找到文件夹,查看到底我们的代码成功了没有。在模拟器中的沙盒目录如下:
文件夹路径图片:
home
Documents 目录:应该将所有的应用程序数据文件写入到这个目录下。这个目录用于
存储用户数据
或其它应该定期备份的信息。Li brary 目录:这个目录下有两个子目录:Caches 和 Preferences
Preferences 目录:包含应用程序的偏好设置文件。您不应该直接创建偏好设置文件,而是应该使用NSUserDefaults
类来取得和设置应用程序的偏好.
Caches 目录:用于存放应用程序专用的支持文件,保存应用程序再次启动时需要的信息
。tmp 目录:这个目录用于存放临时文件,
应用关闭时会清除
。
- 程序包目录
- AppName.app 目录:这是应用程序的程序包目录,包含应用程序的本身。由于应用程序必须经过签名,所以您在运行时
不能对这个目录中的内容进行修改
,否则可能会使应用程序无法启动。
- AppName.app 目录:这是应用程序的程序包目录,包含应用程序的本身。由于应用程序必须经过签名,所以您在运行时
//home路径
NSString *homeDir = NSHomeDirectory();
NSLog(@"%@", docPath);
///Users/zk/Library/Developer/CoreSimulator/Devices/CDA65D19-BC91-4A3A-B3AE-A954750F1E27/data/Containers/Data/Application/0DFE0B5E-8708-4369-90E2-D7F65E0533C7
//document路径
NSArray *docPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docPath = [docPaths objectAtIndex:0];
NSLog(@"%@", docPath);
///Users/zk/Library/Developer/CoreSimulator/Devices/CDA65D19-BC91-4A3A-B3AE-A954750F1E27/data/Containers/Data/Application/0DFE0B5E-8708-4369-90E2-D7F65E0533C7/Documents
//library路径
NSArray *libPaths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *libPath = [libPaths objectAtIndex:0];
NSLog(@"%@", libPath);
///Users/zk/Library/Developer/CoreSimulator/Devices/CDA65D19-BC91-4A3A-B3AE-A954750F1E27/data/Containers/Data/Application/0DFE0B5E-8708-4369-90E2-D7F65E0533C7/Library
//library-caches路径
NSString *libCachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSLog(@"%@", libCachePath);
///Users/zk/Library/Developer/CoreSimulator/Devices/CDA65D19-BC91-4A3A-B3AE-A954750F1E27/data/Containers/Data/Application/0DFE0B5E-8708-4369-90E2-D7F65E0533C7/Library/Caches
//tmp路径
NSString *tmpPaths = NSTemporaryDirectory();
NSLog(@"%@", tmpPaths);
///Users/zk/Library/Developer/CoreSimulator/Devices/CDA65D19-BC91-4A3A-B3AE-A954750F1E27/data/Containers/Data/Application/0DFE0B5E-8708-4369-90E2-D7F65E0533C7/tmp
//程序包目录
NSBundle *mainBundle = [NSBundle mainBundle];
NSString *imagePath = [mainBundle pathForResource:@"coupon_bk" ofType:@"png"];
NSLog(@"%@", imagePath); ///Users/zhangke/Library/Developer/CoreSimulator/Devices/CDA65D19-BC91-4A3A-B3AE-A954750F1E27/data/Containers/Bundle/Application/F6B3D963-6C4E-44F9-9C4D-38584B392A33/app.app/coupon_bk.png
//通过上层路径append字符串形式也可以获得目标路径
NSString *tmpPaths = [NSHomeDirectory() stringByAppendingFormat:@"/tmp"];