转载:http://blog.csdn.net/zhaoyya/article/details/40180499
iOS8之后,把Bundle和那三个文件夹分开放置了,分别存放在不同的文件夹中:
Bundle路径:
~/User/Library/Developer/CoreSimulator/Devices/FE29AAC6-3DB0-45AD-95B3-68E0907BA5A0/data/Contaners/Bundle/Application/9566EEA4-D274-4513-96BD-53FFFC4FAD4E/…
沙盒路径:
~/User/Library/Developer/CoreSimulator/Devices/FE29AAC6-3DB0-45AD-95B3-68E0907BA5A0/data/Containers/Data/Application/EDF4BF77-DD57-4764-9BFC-A74E91D8ACD2/Documents/…
// 无论是Bundle,还是沙盒路径,在应用程序每次重新运行时,沙盒文件夹名称都会发生改变。
NSUserDefaults路径也发生了改变,这个路径在模拟器和真机上是有一些区别的:
~/User/Library/Developer/CoreSimulator/Devices/FE29AAC6-3DB0-45AD-95B3-68E0907BA5A0/data/资源库/Preferences/...
需要注意的是:当我们删除应用程序后,在模拟器中,plist文件还是会存在的,并不会被删除。但是在真机中,plist文件是会被删除的
另外提供找路径的方法:
1,获取家目录路径的函数:
NSString *homeDir = 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类方法用于返回一个代表应用程序包的对象。