在iphone模拟器中打开sqlite数据库文件?

时间:2011-01-10 12:14:15

标签: iphone xcode sqlite

我正在努力了解我的iphone应用中的问题。

我的sqlite数据库中有一个set方法,看起来它工作正常。我在设置值时执行NSLog并且它是正确的。这是一个值为“2010-10-10 12:13:14”的字符串。

当我对相同数据使用get方法时,结果表明该值不正确。它返回1.

有没有办法打开iPhone模拟器内的数据库文件,这样我就可以看到模拟器数据库中存储的实际数据是什么?

有没有办法在我的模拟器和实际文件之间嗅探sqlite调用?像Charles或Service Capture这样的东西?

非常感谢!

7 个答案:

答案 0 :(得分:23)

如果要查看已创建的数据库,

打开取景器 - >按 SHIFT + 命令 + G - > “〜/ Library / Application Support / iPhone Simulator”然后去。

打开5.0(根据您的模拟器版本) - >应用 - >选择pgm文件夹

- >文件

enter image description here

然后你可以看到数据库

enter image description here

答案 1 :(得分:22)

自IOS 8起,他们将其放在另一个文件夹中:

b[8]

Check this answer for more info

答案 2 :(得分:7)

您可以参考以下链接,您可以查看存储在模拟器中的数据库。

How to view the data in sqlite file running in iphone application?

干杯

答案 3 :(得分:5)

对于6.1模拟器,位置不同。

从:

开始
~/Library/Application Support/iPhone Simulator/6.1/Applications/

在模拟器上打开代表应用程序的文件夹。名称将类似于:

0951F670-1DAC-9A39-450A-B8EEFFC0FFE1

如果您有多个文件夹,则可以单击每个文件夹并查看应用程序图标,直到找到您要查找的应用程序。或者,从模拟器中卸载除您感兴趣的应用程序之外的所有其他应用程序。

从此文件夹中,转到此处:

Library/Application Support/<APP_NAME>/<APP_NAME>.sqlite

总路径应如下所示:

~/Library/Application Support/iPhone Simulator/6.1/Applications/<APP_ID>/Library/Application Support/<APP_NAME>/<APP_NAME>.sqlite

答案 4 :(得分:5)

更新:我制作了一个自动化

的工具

适用于Android和iOS,it's available here

老问题,但Apple似乎不断改变逻辑......

在macOs Sierra上,您可以通过发出以下命令找到数据库位置(模拟器必须在此过程中运行!)

ps aux | grep 'CoreSimulator/Devices'

结果应列出模拟器的路径,例如:

/Users/user1/Library/Developer/CoreSimulator/Devices/25C1F5DA-E528-4BC2-B684-A92D382553AC/data/var/run/launchd_bootstrap.plist

导航到现在找到的模拟器文件夹:

cd /Users/user1/Library/Developer/CoreSimulator/Devices/25C1F5DA-E528-4BC2-B684-A92D382553AC/Data/Application/

此文件夹包含全部模拟器应用程序

如果您知道数据库名称,请从这里找到它,如下所示:

find ./ -type f -name 'my_db.db’

中提琴!您有数据库路径:)

答案 5 :(得分:3)

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];

NSLog(@"path is %@",documentsDirectory);

上面的代码将打印ur数据库的路径并将其复制。转到查找程序并从菜单中选择转到文件夹( Shift + Win + G )并在此处粘贴路径,它将为您提供核心数据文件的确切路径。保持此窗口打开。

下一步转到Mozilla firefox点击菜单栏选择工具 - &gt; SQLite经理。它将打开一个新窗口。在新窗口中单击打开的文件,然后在当前窗口中拖动coredata文件的路径,然后单击打开。

注意 - 您必须在Mozilla Firefox中安装了SQLite Manager。

答案 6 :(得分:0)

对于2019年和2020年答案:⚠️

这很容易。使用名为 Simsim https://github.com/dsmelov/simsim)的免费开源应用程序。

阅读自述文件,那里有直接下载链接。

enter image description here


选择Finder,然后从Documents中找到 .sqlite 数据库文件,或使用针对您的应用程序文件夹的Finder搜索功能。