App所产生的数据都存在于自己的沙盒中,一般沙盒都有3个文件:Documents
、Library
和tmp
。
Documents
:这个目录存放用户数据。存放用户可以管理的文件;iTunes备份和恢复的时候会包括此目录。
Library
:主要使用它的子文件夹,我们熟悉的NSUserDefaults就存在于它的子目录中。
Library/Caches
:存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用退出删除,“删除缓存”一般指的就是清除此目录下的文件。
Library/Preferences
:NSUserDefaults的数据存放于此目录下。
tmp
:App应当负责在不需要使用的时候清理这些文件,系统在App不运行的时候也可能清理这个目录。
获取App沙盒根路径:
NSString *dirHome=NSHomeDirectory();
获取Documents目录路径:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
获取Library目录路径
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *libraryDirectory = [paths objectAtIndex:0];
获取Library/Caches目录路径
NSArray *cacPath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *cachePath = [cacPath objectAtIndex:0];
获取Tmp目录路径
NSString *tmpDirectory = NSTemporaryDirectory();
创建文件夹/目录(返回创建结果)
-(BOOL)createDir:(NSString *)fileName{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString * path = [NSString stringWithFormat:@"%@/%@",documentsDirectory,fileName];
NSFileManager *fileManager = [