我对 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数据库友好地工作。