我有一个SQLite数据库,我用它来存储应用程序数据,我可以查看它内部以调试我遇到的问题-但是iPhone模拟器通常在哪里存储它的数据?


当前回答

还有另一种(更快的?)方法可以在没有终端的情况下找到你的应用数据:

在模拟器中启动应用程序 开放活动监视器 在CPU选项卡中找到应用程序的名称 双击打开“打开文件和端口”

其他回答

在Xcode 5中,你可以使用以下代码:

#import <Foundation/NSFileManager.h>

and:

NSString *homeDir = NSHomeDirectory();
NSLog(@"%@",homeDir);

结果看起来像这样:

"/Users/<your user name>/Library/Application Support/iPhone Simulator/7.1/Applications/hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh"

hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh是一个十六进制字符串,用来识别你的iOS应用程序。

对于Xcode 4.6,它被存储在以下路径…

/Users/[currentuser]/Library/Application Support/iPhone Simulator/6.1/Applications/

要通过编程方式了解它,请使用以下代码

  NSLog(@"path:%@",[[NSBundle mainBundle]bundlePath]);

要在模拟器上打开你在xCode中构建的应用程序所在的目录,请执行以下操作:

打开Finder窗口(笑脸图标) 然后点击GO ->进入文件夹 类型:~/Library/Application Support/iPhone Simulator 目录是不同模拟器的iOS版本 子目录是安装在模拟器上的应用程序 文档文件夹是用户生成的内容备份到iCloud的地方

在Lion上,Users/[username]/Library被隐藏。

要在Finder中查看,单击屏幕顶部的“Go”菜单,并按住“alt”键显示“Library”。

点击“Library”,你可以看到之前隐藏的库文件夹。

先前的建议:

Use

chflags nohidden /users/[username]/library

在终端中显示文件夹。

iOS 8

要找到Documents文件夹,你可以在Documents文件夹中写入一个文件:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *fileName = [documentsDirectory stringByAppendingPathComponent:@"Words.txt"];
NSString *content = @"Apple";
[content writeToFile:fileName atomically:NO encoding:NSStringEncodingConversionAllowLossy error:nil];

例如,在didFinishLaunchingWithOptions中。

然后你可以打开一个终端,找到这个文件夹:

$ find ~/Library -name Words.txt