2010-02-15 43 views
37

我正在为我的应用程序创建一个核心数据模型。我希望能够在里面查看我存储在那里的内容。如何查看存储在核心数据中的数据?

是否有比寻找后台存储更容易的方法(我的应该是SQLite)并从那里读取?似乎不是苹果式的。

+0

可能的重复[有没有一个好的核心数据浏览工具?](http://stackoverflow.com/questions/1609683/is-there-a-good-core-data-browsing-tool-out-那么) – swiftBoy

+0

在iOS 10+上,你可以看到在这个答案中使用解决方案:https://stackoverflow.com/a/43406516/468724 –

回答

50

一旦您的应用程序在模拟器中运行并创建了持久性存储文件,您就可以在应用程序的Documents目录中找到该文件。

您的应用程序将是文件夹中(〜是你的主目录):
〜/库/应用程序支持/ iPhone模拟器/用户/应用/

我排序“修改日期”,找到应用程序,我刚刚建成。

要查看SQLite文件,请查看Base和/或Core Data Editor

+2

特别是,核心数据编辑器以合理的方式呈现数据库。 –

+3

有没有一种自由的方式来做到这一点? – barfoon

+0

@barfoon Base有一个免费试用版(每次15分钟),但更自由的是弹出打开终端,导航到相同的目录,并运行SQLite3应用程序。在应用程序的Documents目录中,找到.sqlite文件,并使用“sqlite3 .sqlite”运行它,将Model替换为真实文件名。 – eddieroger

20

您也可以使用Firefox的附加工具SQLite的经理(免费)。我使用它,它运作良好。

+0

真棒的答案。一旦你下载了插件,并想出如何启动它,你可以使用'print(NSFileManager.defaultManager()。URLsForDirectory(.DocumentDirectory,inDomains:.UserDomainMask)'''打印你的数据库位置。然后,在插件中,当你想打开数据库时,你需要在Finder中启用隐藏文件夹。 – paulvs

+0

不幸的是https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/与最新的Firefox不兼容。 –

2

也尝试sqlite数据库浏览器。它的自由并反映了这一事实。虽然非常有用!

cheers.bo

11

您可以尝试一个名为CoreDataPro的小工具。很不错。 Here

+1

伟大的工具,感谢兄弟 – evya

+1

很高兴它有帮助。 – smileBot

1

以下是完整的路径,显然是因为gerry3的回答改变

~/Library/Application Support/iPhone Simulator/<Simulator>/Applications/<ApplicationID>/Documents/<NAME>.sqlite 

所以,正确的路径将是这样的:如果你正在使用iOS的10 &斯威夫特让它进入

~/Library/Application Support/iPhone Simulator/7.1-64/Applications/C1F3C2E5-987A-4DF7-91EF-955AE6E52621/Documents/TestApp.sqlite 
5

你的AppDelegate.swift:

let container = NSPersistentContainer(name: "***") 
    print(container.persistentStoreDescriptions.first?.url) 

然后你我看到类似的东西:

Optional(file:///Users/<SomeUser>/Library/Developer/CoreSimulator/Devices/956F0003-5DA4-4588-97C1-A9A83767F341/data/Containers/Data/Application/9765FDE1-6971-4706-987B-96FBD3F462BF/Library/Application%20Support/***.sqlite) 
1

我创建了一个macOS应用程序来浏览你的核心数据内容。它隐藏了核心数据实现,就像您在使用SQLite浏览器时看到的一样。您也可以列出所有最新的运行应用程序和模拟器,使用它您可以轻松找到所需的应用程序。这里更多的信息:

http://www.microedition.biz/simMagnifier

它具有其他功能,如访问模拟器的文件夹,如文档,应用程序支持,等等。你可以NSUserDefaults的检查的内容了。

该应用不是免费的抱歉!但至少你有7天的试用期。

3

更新至此主题,iphone模拟器位置已移至Xcode7和Xcode8中的其他位置。现在是:

〜/资源库/开发/ CoreSimulator/...

的地方〜是你的主目录。

任何以前的解决方案仍然可以正常工作,但如果您使用以前的链接,则无法找到正确的文件夹。