React Native iOS无法定位sqlite数据库



我正在React Native上运行WatermelonDB(使用SQLite(。我正在使用iOS模拟器,我正在尝试定位数据库文件,以便直接查询它。我似乎能够成功地保存到数据库中,因为我可以从应用程序中查询数据,并且数据会被持久化。

使用htop,我已经能够找到在模拟器上运行的应用程序的运行过程。但是,当我将cd放入该目录时,我看不到.db文件。我甚至可以为所有数据库文件访问所有模拟器~/Library/Developer/CoreSimulator/Devices/ack的根目录,但仍然没有显示任何内容。

接下来,我尝试在Xcode中启动该应用程序,因为我遇到了其他帖子,建议检查Xcode的日志,这应该会显示数据库的位置。唉,这并没有给我任何信息。

我首先想知道,在找不到db文件的情况下,任何东西都有可能被持久化。

其次,我应该从Xcode构建我的应用程序,还是可以使用命令行react-native run-ios?我可以看到运行这个命令在后台使用了Xcode,但我不确定使用Xcode是否有好处。尽管如此,使用Xcode并不能为我提供我想要的答案。

注意:这不是这个也不是这个的重复,因为我遵循了所有的建议,但无法得出的结论

您可以通过以下方式找到iOS模拟器创建的机器上的watermelon.db文件:

cd /Users/<your username>/Library/Developer/CoreSimulator/Devices
find . -name "watermelon.db"

这将显示模拟器创建的watermelon.db文件的实例。然后,您可以将输出带到SQLite检查器并打开/Users/<your username>/Library/Developer/CoreSimulator/Devices + {file path from find}

如果你有多个结果,那么你可能需要通过使用xcrun instruments -s devices将ID与模拟器匹配来推断哪个模拟器是哪个

最新更新