无法找到核心数据 sqlite 表位置

Posted

技术标签:

【中文标题】无法找到核心数据 sqlite 表位置【英文标题】:unable to find the core data sqlite table location 【发布时间】:2017-05-08 12:53:25 【问题描述】:

找不到sqlite文件的位置

/var/mobile/Containers/Data/Application/C06C578B-C1A5-4D82-A5A1-E5D091C9E18A/Documents/XYZTR.sqlite

【问题讨论】:

您是在使用该设备进行测试吗? 请看我的回答,它对设备和模拟器都有帮助。 是的,我正在获取此路径 /var/mobile/Containers/Data/Application/C06C578B-C1A5-4D82-A‌​5A1-E5D091C9E18A/Doc‌​uments/XYZTR.sqlite 但在我的 Mac 中,位置是没有得到是手动提供位置的任何方式。 @ManjuSSP 对于设备位置,您必须下载 iFunBox 以获取数据库的路径。 iFunBox通过图标访问数据库文件和plist文件的单个应用程序的所有文件。 【参考方案1】:

您需要从设备中复制数据库,然后在您的工具中打开该数据库。

在 Xcode 中选择 window->organizer 并展开你旁边的节点 应用程序在手机上的应用程序部分。选择 应用程序数据旁边的黑色向下箭头并保存 文件在您桌面的任何位置。你的 sqlite 数据库应该在那里 某处。

步骤

    首先你需要运行项目

      Xcode > 打开 > YourProject > 产品 > 运行

      窗口 > 设备 > YourDeviceName > YourAppName > Cog 在“已安装的应用程序”列表下 >(弹出 - 选择)下载容器

      保存到位置 > 右键单击​​“YourAppName.xcappdata” > 选择“显示包内容”> AppData > 文档 > YourDatabase.sqlite

【讨论】:

【参考方案2】:

您可以在项目中设置此环境变量

Xcode > 你的项目 > 产品菜单 > 方案 > 编辑方案 > 运行

设置这个

-com.apple.CoreData.SQLDebug 1 在启动时传递的参数中。

每次您的项目运行时,它都会打印您到 SQLite 数据库的路径。

希望这篇文章对你有所帮助。

【讨论】:

是的,我正在获取此路径 /var/mobile/Containers/Data/Application/C06C578B-C1A5-4D82-A5A1-E5D091C9E18A/Documents/XYZTR.sqlite 但在我的 Mac 中,该位置没有得到任何手动提供位置的方法。 你可以在你的mac中通过finder找到路径 @ManjuSSP 这是在设备甚至模拟器中打印 sqlite 数据库路径的简单方法。将该路径复制并粘贴到查找器中,它将重定向到您的数据库到该位置 如果有帮助,你能接受我的回答或投票吗? 不,它没有得到我已经尝试过的位置。显示就像没有搜索路径

以上是关于无法找到核心数据 sqlite 表位置的主要内容,如果未能解决你的问题,请参考以下文章

SQLite 无法通过 JDBC 和 jOOQ 在 SELECT 中找到现有列

Iphone 编程 - 将现有的 sql 表导入到 sqlite 或核心数据

VS2008打开SQLite数据库时出错无法找到 PInvoke DLL“SQLite.Interop.DLL”。

如何在HTML5中获取并打印表的多个列? (django,sqlite,html5)

Sqlite3 数据库表无法在 XCode 4.2 中打开

XCode4 - 在哪里寻找由核心数据创建的 sqlite 文件