应用程序的沙盒SandBox

在模拟器中运行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就来到了模拟器目录:

应用程序的沙盒SandBox_第1张图片

第二种方法:

首先,要设置系统显示隐藏的文件。

苹果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下找到沙盒:

应用程序的沙盒SandBox_第2张图片

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"];

你可能感兴趣的:(sandbox,沙盒,显示隐藏文件)