iOS沙盒文件夹及获取路劲方法

iPhone沙盒中有四个文件夹,分别是:documents、tmp、app、library.

1、Documents :用户生成的文档或数据,或者应用不能重新新创建的数据,存储在/Documents目录下,并且会被自动备份到iCloud;

2、AppName.app :应用程序的包存储在/app目录下。由于应用程序必须经过签名,所以该目录下的内容不能修改,否则程序可能无法启动;

3、tmp:临时文件存放在该目录下(应用程序再次启动时不需要的信息,应用需要写到本地存储,内部使用的临时数据,但不需要长期保留使用),文件不会被iCloud备份,应用在使用完之后需要记得删除这些文件,这样才不会继续占用用户设备的空间;

4、Library:其又被分为Caches和Preferences。其中Caches存放应用程序可以重新下载或生成的数据(保存应用程序再次启动时需要的信息,如数据库缓存文件、可下载文件(杂志、报纸、地图应用使用的数据)等),Preferences包含应用程序的偏好设置文件(不能直接创建偏好设置文件,需要通过使用NSUserDefaults类还获取和设置应用程序的偏好设置)。

 

获取这些目录路径的方法:

1,获取家目录(app文件)路径的函数:

NSString *homePath = NSHomeDirectory();

2,获取Documents目录路径的方法:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);

NSString *docDir =[paths objectAtIndex:0];

3,获取Caches目录路径的方法:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES);

NSString *cachesDir =[paths objectAtIndex:0];

4,获取tmp目录路径的方法:

NSString *tmpDir = NSTemporaryDirectory();

5,获取应用程序程序包中资源文件路径的方法:

例如获取程序包中一个图片资源(apple.png)路径的方法:

NSString *imagePath =[[NSBundle mainBundle]pathForResource:@”apple”ofType:@”png”];

UIImage *appleImage =[[UIImage alloc]initWithContentsOfFile:imagePath];

代码中的mainBundle类方法用于返回一个代表应用程序包的对象。

iOS沙盒文件夹及获取路劲方法

上一篇:vue脚手架搭建移动端项目--flexible.js


下一篇:「Android」 Surface分析