您的位置:首页 > 移动开发 > IOS开发

IOS8 沙盒路径的变化

2014-10-17 08:44 411 查看
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类方法用于返回一个代表应用程序包的对象。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: