【发布时间】:2011-01-17 02:35:28
【问题描述】:
我正在为我的应用程序创建一个核心数据模型。我希望能够查看它的内部,看看我在那里存储了什么。
有没有比搜索后备存储更简单的方法(我的应该是 SQLite)并从那里读取?看起来不太像 Apple。
【问题讨论】:
-
在 iOS 10+ 上,您可以在此答案中看到使用解决方案:stackoverflow.com/a/43406516/468724
我正在为我的应用程序创建一个核心数据模型。我希望能够查看它的内部,看看我在那里存储了什么。
有没有比搜索后备存储更简单的方法(我的应该是 SQLite)并从那里读取?看起来不太像 Apple。
【问题讨论】:
一旦您的应用在模拟器中运行并创建了持久存储文件,您就可以在应用的 Documents 目录中找到该文件。
您的应用数据将在文件夹内(~ 是您的主目录):
~/Library/Developer/CoreSimulator/<device>
在 XCode 6 之前的版本中,路径为:
~/Library/Application Support/iPhone Simulator/User/Applications/
我按“修改日期”排序以找到我刚刚构建的应用程序。
要查看 SQLite 文件,请查看 Base 和/或 Core Data Editor。
【讨论】:
您还可以使用 FireFox 的附加工具 SQLite Manager(免费)。我用过,效果很好。
【讨论】:
print(NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)) 打印您的数据库位置。然后,在插件中,当您要打开数据库时,您需要在 Finder 中启用隐藏文件夹。
如果您使用的是 iOS 10 和 Swift,请将其放入您的 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)
【讨论】:
您可以尝试一个名为 CoreDataPro 的免费小工具。挺棒的。 Here
【讨论】:
更新到此线程,iphone 模拟器位置已移至 Xcode7 和 Xcode8 中的不同位置。现在在:
~/Library/Developer/CoreSimulator/...
其中 ~ 是您的主目录。
之前的任何解决方案仍然有效,但如果您使用之前的链接,您将无法找到正确的文件夹。
【讨论】:
Core Data Lab 是一个专用的 Core Data 查看器,提供查看和分析应用程序的 Core Data 数据库的所有功能,例如自动搜索数据库、数据更改跟踪器、模拟器浏览器、谓词编辑器、数据编辑器、内置的网络和图像内容查看器等等。
信息页面:https://betamagic.nl/products/coredatalab.html
14 次免费试用:https://betamagic.nl/downloads/Core%20Data%20Lab%20Trial.zip
免责声明:我是这个工具的创造者。
【讨论】:
也可以试试 sqlite 数据库浏览器。它是免费的,反映了这一事实。不过非常有用!
干杯.bo
【讨论】:
我创建了一个 macOS 应用程序来浏览您的 Core Data 内容。正如您在使用 SQLite 浏览器时看到的那样,它隐藏了 Core Data 实现。您还可以列出所有最新运行的应用程序和模拟器,这样您就可以轻松找到您正在寻找的应用程序。更多信息在这里:
http://www.microedition.biz/simMagnifier
它还有其他功能,例如访问模拟器的文件夹,如 Documents、Application Support 等。您也可以查看 NSUserDefaults 的内容。
该应用程序不是免费的对不起!但至少你有 7 天的试用期。
【讨论】:
这是完整路径,显然它自 gerry3 的回答以来发生了变化
~/Library/Application Support/iPhone Simulator/<Simulator>/Applications/<ApplicationID>/Documents/<NAME>.sqlite
所以正确的路径应该是这样的:
~/Library/Application Support/iPhone Simulator/7.1-64/Applications/C1F3C2E5-987A-4DF7-91EF-955AE6E52621/Documents/TestApp.sqlite
【讨论】:
三个简单的步骤
安装 liya 应用程序,它是免费的,大小为 3.1 MB,因此安装在 1 分钟内。
链接https://itunes.apple.com/us/app/liya/id455484422?mt=12。
打开 Finder,按“Ctrl + G”或“CMD + Ctrl + G”,粘贴~/Library/Developer/
在 Developer Folder 中,搜索您的 Core Data 模型名称 (eg. MyProjectModel).
使用 liya 打开 MyProjectModel.d 文件或“MyProjectModel.sqlite”。在liya中,选择一个表,点击“运行SQL命令”。
完成。
【讨论】: