2010-10-26 60 views
10

我创建了一个使用核心数据的应用程序。有没有办法在模拟器上查看sqlite数据库?一个工具可能允许查询模拟器上的sqlite数据库?像数据浏览器一样?iPhone核心数据模拟器

有没有办法将iphone模拟器浏览到sqlite数据库位置?

回答

11

的Xcode 5

我刚刚下载的Base审判,并能够在.SQL数据库从模拟器通过点吧:

/Macintosh的HD /用户/ “用户名”/库/应用程序支持/ iPhone模拟器/“当前iOS开发版本”/应用程序/

应用程序的文件夹名称是不可读的,但如果您单击该文件夹,您应该能够看到熟悉名称的内容。

的Xcode 6+

这在Xcode 6被改变了,现在位于~/Library/Developer/CoreSimulator/Devices/<device-id>/data/Containers/Data/Appl‌​action在数据库本身可以在文件目录中找到<app-id>/Documents/<name>.sqlite

+4

从XCode 6+开始这不正确。查看 '〜/ Library/Developer/CoreSimulator/Devices//data/Containers/Data/Application' – djbp 2014-12-15 16:26:56

+0

有人知道如何在xCode中获得? – WINSergey 2015-01-11 18:30:07

1

如果你已经安装了免费sqlite3,你可以在命令行做这样做:

/Users/<user>/Library/Application\ Support/iPhone\ Simulator/<sim_version>/Applications/<apphash>/Documents/<yourfile> 

最简单的方法,看看哪些哈希你应该偷看:

ls -lt /Users/<user>/Library/Application\ Support/iPhone\ Simulator/<sim_version>/Applications/ 

你可以在提示处运行.tables以查看有哪些表,.schema <tablename>检出其列。

14

和Xcode 6,模拟器基本目录可以在这里找到:

<app-id>/Documents/<name>.sqlite 

该数据库可以使用访问:

~/Library/Developer/CoreSimulator/Devices/<device-id>/data/Containers/Data/Application 

然后,数据库本身可以在文件目录中找到在命令行中输入sqlite3

+1

目前接受的答案不再正确。请留意你的最高票数,让这个票到最高! – dave 2014-10-24 15:53:31

0

这是一个很旧的文章,但我一直在寻找别的东西,我降落在这里,我的2美分:

在回答WINSergey: (1)恢复您的设备ID最简单的方式整个路径是打印:

NSLog(@"app dir: %@",[[[NSFileManager defaultManager] 
        URLsForDirectory:NSDocumentDirectory 
        inDomains:NSUserDomainMask] lastObject]); 

然后,您会在调试区域看到输出或从模拟器打开系统日志。 (2)此外,要从模拟器了解设备ID:XCode> WIndow> Devices>>它会在右侧显示标识符。

我也使用SQLiteStudio,它是开源的,运行良好。