如何在iPhone real设备上打开数据库sqlite文件?

时间:2018-06-13 01:45:46

标签: ios swift xcode sqlite

我正在通过有线电视在我的真实设备中对应用程序进行调试。我有一个iPhone 6.我想检查我的数据库并使用sqlite3来查询我的结果。其他问题和教程解释只在模拟器中执行此操作,但我使用的是真正的iPhone。

在AppDelegate中,我打印数据库的路径:

print(NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).last! as String) /Users/myname/Library/Developer/CoreSimulator/Devices/DAE93E57-7004-45F6-9B93-E79CA1AEEEFA/data/Containers/Data/Application/D7A4F27E-6F11-4941-A1B0-0337ABF788AB/Documents

因此,我从终端获取路径和访问权限并使用sqlite3 DatabaseFile

访问我的数据库

但是当我在我的设备中调试时,打印的路径不起作用。我尝试使用打印的路径 cd /var/mobile/Containers/Data/Application/3257D423-C198-41A5-B29D-B31E99F84F34/Documents /usr/bin/CD: line 4: cd: /var/mobile/Containers/Data/Application/3257D423-C198-41A5-B29D-B31E99F84F34/Documents: No such file or directory

发生此错误是因为我认为这是iOS系统。

5 个答案:

答案 0 :(得分:4)

Xcode 10.1

在Xcode中,转到“窗口”>“设备和模拟器”

enter image description here

设备标签中,选择您的应用程序,然后单击Gear图标,然后单击下载容器... enter image description here

选择要保存文件的位置,然后单击保存

转到Finder并找到您刚刚下载的 .xcappdata 文件,然后右键单击并选择在目录中显示包

enter image description here

内容文件夹将打开。您的 .sql 文件位于AppData>库>应用程序支持中

enter image description here

我建议下载用于SQL文件的 数据库浏览器 ,然后打开 .sql 文件。它能创造奇迹!

答案 1 :(得分:3)

在Xcode的最新版本中(我认为是8及以上版本),请使用Window菜单打开它 - >设备。在设备列表中查找设备,然后查看设备的已安装应用程序列表。您将在设备上构建并安装的每个应用程序(以及其他一些应用程序)都会列出。选择您的应用,然后点击列表下方的齿轮菜单。单击"下载"弹出菜单上的项目可让您将应用程序的文档,库和其他目录复制到Mac。

注意:这将下载.xcappdata文件。右键单击它并选择"显示包装内容"将允许您深入查看实际的sqlite文件。

查看链接可能会对您有所帮助 -

Any way to get your SQLite DB off iPhone?

答案 2 :(得分:1)

这是另一种方式:

在调试模式下,添加一个UIActivityViewController可以将您的SQLite数据库共享(复制)到Mac或第三方iOS应用(如SQLiteFlow(iOS)),然后您可以调试SQLite数据库。

答案 3 :(得分:0)

使用设备调试应用时,无法实时访问.sqlite文件。尝试在模拟器中完成相同的操作,它将起作用。

答案 4 :(得分:0)

您直接放入文档中的文件应显示在iTunes中的File Sharing内。您可以在本地下载它们并在那里进行编辑。您需要在应用的Info.plist中添加以下内容来启用它:

<key>UIFileSharingEnabled</key>
<true/>
<key>LSSupportsOpeningDocumentsInPlace</key>
<true/>

实际上只有在Files app

中启用显示这些键时才需要第二个键