核心数据sqlite文件的URL每次都会更改 - 我应该如何调试它?



我对 Xcode 8 和 Swift 3 中的核心数据感到非常困惑。

我想使用DB浏览器SQLite(或任何其他应用程序)来编辑一些DB记录。但是每次我在iOS模拟器中运行应用程序时,我都会获得SQL文件的不同URL。

例如,它可以是

/Users/{%MY_USER%}/Library/Developer/CoreSimulator/Devices/{%some_id%}/data/Containers/Data/Application/{%other_id_1}/Library/Application%20Support/{%DB%}.sqlite)

其他时间是

/Users/{%MY_USER%}/Library/Developer/CoreSimulator/Devices/{%some_id%}/data/Containers/Data/Application/{%other_id_2}/Library/Application%20Support/{%DB%}.sqlite)

为什么会这样?我可以做些什么来调试和管理核心数据而不会感到痛苦?

这就是iOS模拟器的工作方式 - 这正是Apple设计它的目的。这不是核心数据,因为应用的所有数据都会发生这种情况。

如果你出于某种原因需要使用SQLite编辑器,你只需要忍受它。您可以通过执行以下一项或多项操作来帮助自己:

  • 在应用启动时打印路径,以便可以复制和粘贴它。
  • Get SimPholders,这是一个Mac应用程序,旨在使处理模拟器更容易。

您可能想尝试一下SQLiteFlow。

它目前在macOS App Store上可用,从它的介绍来看:

处理数据库文件名或目录更改。这使得SQLiteFlow可以在iOS模拟器中与SQLite数据库友好地工作。

相关内容

最新更新