沙盒目录

2019-02-22  本文已影响0人  若水water

一、简介

程序包:

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

上一篇 下一篇

猜你喜欢

热点阅读