在模拟器中运行iOS程序,都会为该程序创建一个沙盒(SandBox),
我用的系统是Max OS X 10.8.0,编译器是Xcode 4.5.1。
找到沙盒目录,可以通过两种方法:
第一种方法:运行Finder,然后在Finder的菜单栏找到Go—前Go to folder…,在打开的窗口输入
/Users/UserName/Library/Application Support/iPhone Simulator/
UserName是指用户在Mac系统中的用户名。
点Go就来到了模拟器目录:
第二种方法:
首先,要设置系统显示隐藏的文件。
苹果Mac OS X操作系统下,隐藏文件是否显示有很多种设置方法,最简单的要算在Mac终端输入命令。显示/隐藏Mac隐藏文件命令如下(注意其中的空格并且区分大小写):
显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true
隐藏Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool false
或者
显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles YES
隐藏Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles NO
输完单击Enter键,退出终端,重新启动Finder就可以了
重启Finder:鼠标单击窗口左上角的苹果标志-->强制退出-->Finder-->重新启动
之后就可以在Finder下找到沙盒:
1、Documents:
应用程序将其数据存储在Documents中,但基于NSUserDefaults的首选项设置除外。
获取程序的Documents目录的代码是:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0];
则documentsDirectory中存储的就是Documents目录的地址,每个应用程序都只有一个Documents目录,所以获取paths数组中索引为0的目录。
2、Library:
Library目录包含两个子目录:Caches与Preferences,基于NSUserDefaults的首选项设置存储在Library/preferences文件夹中。
(1) 获取Library目录地址:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES); NSString *libraryDirectory = [paths objectAtIndex:0];
(2) 获取Caches目录地址:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); NSString* cachesDirectory = [paths objectAtIndex:0];
3、tmp:
tmp目录供应用程序存储临时文件。
获取tmp目录:
NSString *tempPath = NSTemporaryDirectory();
获取文件目录后,创建文件名的方法:
NSString *filename = [documentsDirectory stringByAppendingPathComponent:@"filename.txt"];