2018-07-12 ios应用程序的目录

处于安全考虑,iOS系统的沙盒机制规定每个应用都只能访问当前沙盒目录下面的文件(也有例外,比如在用户授权情况下访问通讯录,相册等)。】

通过代码,NSString *path = NSHomeDirectory();获取到的就是应用程序的路径。在该路径下有3个文件夹:Documents、Library、Tmp。应用程序只能访问该路径下的文件夹。

1、Documents

用户的应用程序数据应该放在该文件夹下,该文件夹下的数据可以被iTunes 备份

2、Library

这个目录下又包含两个子目录。

Preferences 目录:包含应用程序的偏好设置文件。

Caches 目录:用于存放应用程序专用的支持文件,保存应用程序再次启动过程中需要的信息。

该目录下的文件,除了Caches目录,都可以被iTunes 备份

3、Tmp

用于存放临时文件,应用程序下次启动前,该目录下的文件不会保存,也不会被iTunes 备份

下面是这些目录的获取方式

// 获取沙盒主目录路径

NSString*homeDir =NSHomeDirectory();

// 获取Documents目录路径

NSString*docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES) firstObject];

// 获取Library的目录路径

NSString*libDir = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask,YES) lastObject];

// 获取Caches目录路径

NSString*cachesDir = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES) firstObject];

// 获取tmp目录路径

NSString*tmpDir =NSTemporaryDirectory();

或者是

NSString *fileName=[NSHomeDirectory() stringByAppendingPathComponent:@"tmp/myFile.txt"];

你可能感兴趣的:(2018-07-12 ios应用程序的目录)