我创建了一个使用核心数据的应用程序。有没有一种方法可以在模拟器上查看sqlite数据库?是否有工具可以查询模拟器上的sqlite数据库?就像数据浏览器一样?
是否有一种方法可以浏览iPhone模拟器以查找sqlite数据库位置?
我创建了一个使用核心数据的应用程序。有没有一种方法可以在模拟器上查看sqlite数据库?是否有工具可以查询模拟器上的sqlite数据库?就像数据浏览器一样?
是否有一种方法可以浏览iPhone模拟器以查找sqlite数据库位置?
使用Xcode 6,模拟器基目录可以在此找到:
~/Library/Developer/CoreSimulator/Devices/<device-id>/data/Containers/Data/Application
然后,数据库本身可以在文档目录中找到:
<app-id>/Documents/<name>.sqlite
可以使用命令行上的sqlite3
访问数据库。
我刚刚下载了Base的试用版本,并通过以下方式将其指向模拟器中的.sql数据库:
/Macintosh HD/Users/"用户名"/Library/Application Support/iPhone Simulator/"当前 iOS开发版本"/Applications/
应用程序的文件夹名称不可读,但是如果您点击文件夹,就可以看到带有熟悉名称的内容。
Xcode 6以上的版本更改了这一点,现在位于~/Library/Developer/CoreSimulator/Devices/<设备ID>/data/Containers/Data/Applaction
,其中数据库本身可以在文档目录下找到 <应用程序ID>/Documents/<名称>.sqlite
~/Library/Developer/CoreSimulator/Devices/<device-id>/data/Containers/Data/Application
。 - djbpsqlite3
,您可以通过命令行执行以下操作:/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>
来检查其列。这是一个相当旧的帖子,不过我正在寻找其他东西,结果来到了这里,我的看法是:
针对WINSergey的回复: (1) 恢复设备ID和整个路径最简单的方法是打印:
NSLog(@"app dir: %@",[[[NSFileManager defaultManager]
URLsForDirectory:NSDocumentDirectory
inDomains:NSUserDomainMask] lastObject]);
然后你会在调试区域或从模拟器中打开系统日志中看到输出。
(2) 此外,要从模拟器中获取设备ID:XCode > 窗口 > 设备 > > 它会在右侧显示标识符。
我还使用SQLiteStudio,它是开源的并且运行良好。