ios 开发中,沙盒目录解释

2018-09-26  本文已影响43人  然也然也

在iPhone的沙箱模型有四个文件夹,分别是documents、tmp、app、library。

创建文件的时候会先创建文件的路径,方法如下:

1、Documents:这是文档目录。有关应用的所有数据文件应该写入到这个目录下,这个目录用于存储用户数据或者其他应该定期备份的信息。

获取Documents目录路径的方法:

NSString*documentPath  = NSSearchPathForDirectoriesInDomains ( NSDocumentDirectory , NSUserDomainMask , YES ).firstObject;

这里的firstObject改成lastObject也可以,因为该目录下只有一个文件夹。

2、AppName.app:这是应用程序的程序包目录,包含应用程序的本身。由于应用程序必须经过签名,所以您在运行时不能对这个目录中的内容进行修改,否则可能会使应用程序无法启动。

获取AppName.app 目录路径:

NSString  *path = [[NSBundlemainBundle]bundlePath];

3、Library:库目录。这个目录下面还有两个子目录:Caches 和 Preferences

Caches目录:

缓存目录。用于存储应用程序专用的支持文件,保存应用程序再次启动过程中需要的信息。iTunes不会同步此文件夹,适合存储体积大,不需要备份的非重要数据。

NSString  *path = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject;

Perferences目录:

包含应用程序的编号设置文件,存放NSUserDefaults保存的.plist文件。iTunes同步该应用时会同步该文件夹中的内容。

NSUserDefaults  *userDefaults = [NSUserDefaultsstandardUserDefaults];

//直接调用方法就能保存入偏好设置里面

[userDefaults setObject:@"hello"forKey:@"hello"];

[userDefaults synchronize];

4、Library/Application Support目录:

[NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory,   NSUserDomainMask, YES) objectAtIndex:0];

5、tmp:临时文件夹。iTunes不会同步此文件夹,里面存的是临时文件,随时可以被删除,一般不怎么用

NSString  *tmppath  = NSTemporaryDirectory();

6、获取沙盒主目录路径 

NSString*homePaht =NSHomeDirectory();

常见的NSFileManager文件方法

本文转自http://www.cocoachina.com/ios/20171128/21347.html

上一篇下一篇

猜你喜欢

热点阅读