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类方法用于返回一个代表应用程序包的对象。

优质内容筛选与推荐>>
1、pat 甲级 1003 Emergency(最短路计数)
2、time和datetime和tzinfo
3、ER图&流程图
4、访问修饰符 public、protected、private、已经默认不写(default)时的区别?
5、Windows Server 2012 FTP配置 后客户机一直登录不上


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号