沙盒
iOS系统,每个应用都有自己的沙盒,每个沙盒都是相互独立的,不能互相访问。
获取沙盒路径的代码:
NSHomeDirectory()
沙盒中的结构
沙盒结构如上图
1.document:应用程序在运行时生成的一些需要长久保存的重要数据放在此文件中。通过iTunes,iCloud备份时,会备份此目录下的数据。iTunes共享文件时,可以共享此文件目录。
2.Library:
a.Cache:存放缓存文件,比如从网路上下载的数据或数据。一般用来保存应用需要长期使用的,数据量大,不需要备份的非重要数据。iTunes,iCloud备份时不会备份此目录下的数据
b.Prefrence:保存应用的所有偏好设置,比如账号,设置等。由系统自动管理。iTunes,iCloud备份时会备份此目录下的数据和文件
3.tmp:用于保存应用在运行时产生的一些临时数据文件,手机重启,系统空间不足的,关闭应用等场景下可能会删除该文件下的文件。iTunes备份时不会备份该目录下的文件
调用方法:
Document:
NSArray *paths = NSSearchPathForDirectoriesInDomain(NSDocumentDirectory,NSUserDomainMask,YES)
NSString *document = path[0];
NSString *fileName = [document stringByAppendPathComponent:@"theFile.txt"];
Library:
NSArray *Paths=NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *path=[Paths objectAtIndex:0];
Cache
NSArray *Paths=NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *path=[Paths objectAtIndex:0];
tmp
NSTemporaryDirectory();
网友评论