一、 每个iOS应用SDK都被限制在“沙盒”中,“沙盒”相当于一个加了仅主人可见权限的文件夹,苹果对沙盒有以下几条限制。
(1)、应用程序可以在自己的沙盒里运作,但是不能访问任何其他应用程序的沙盒。
(2)、应用程序间不能共享数据,沙盒里的文件不能被复制到其他应用程序文件夹中,也不能把其他应用程序文件夹中的文件复制到沙盒里。
(3)、苹果禁止任何读、写沙盒以外的文件,禁止应用程序将内容写到沙盒以外的文件夹中。
(3)、苹果禁止任何读、写沙盒以外的文件,禁止应用程序将内容写到沙盒以外的文件夹中。
(4)、沙盒根目录里有三个文件夹:
Documents,一般应该把应用程序的数据文件存到这个文件夹里,用于存储用户数据或其他应该定期备份的信息。
Library,下有两个文件夹,
Caches存储应用程序再次启动所需的信息;
Preferences包含应用程序偏好设置文件,不过不要在这里修改偏好设置。
temp,存放临时文件,即应用程序再次启动不需要的文件。
二、获取沙盒路径
NSLog(@"%@",NSHomeDirectoryForUser(NSUserName()));//打印沙盒应用程序的用户
NSLog(@"%@",NSHomeDirectory());//打印沙盒根目录
NSLog(@"%@",NSUserName());//打印沙盒应用程序的用户所有者
NSLog(@"%@",NSTemporaryDirectory());//打印沙盒临时文件夹路径
NSLog(@"%@",[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]);//打印沙盒Document文件夹
NSLog(@"%@",[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0]);//获取Caches文件夹路径
NSLog(@"%@",[NSSearchPathForDirectoriesInDomains(NSPreferencePanesDirectory, NSUserDomainMask, YES) objectAtIndex:0]);//获取Preference文件夹路径
NSLog(@"%@",NSHomeDirectory());//打印沙盒根目录
NSLog(@"%@",NSUserName());//打印沙盒应用程序的用户所有者
NSLog(@"%@",NSTemporaryDirectory());//打印沙盒临时文件夹路径
NSLog(@"%@",[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]);//打印沙盒Document文件夹
NSLog(@"%@",[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0]);//获取Caches文件夹路径
NSLog(@"%@",[NSSearchPathForDirectoriesInDomains(NSPreferencePanesDirectory, NSUserDomainMask, YES) objectAtIndex:0]);//获取Preference文件夹路径
(1)、获取沙盒根目录的方法,有以下几种:
1、用NSHomeDirectory获取
2、用用户名获取
(2)、获取Document路径
(3)、获取tmp路径
(4)、获取
cache路径