无法找到核心数据 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-A5A1-E5D091C9E18A/Documents/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”。