【问题标题】:How to view data stored in Core Data?如何查看存储在 Core Data 中的数据?
【发布时间】:2011-01-17 02:35:28
【问题描述】:

我正在为我的应用程序创建一个核心数据模型。我希望能够查看它的内部,看看我在那里存储了什么。

有没有比搜索后备存储更简单的方法(我的应该是 SQLite)并从那里读取?看起来不太像 Apple。

【问题讨论】:

标签: iphone core-data


【解决方案1】:

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

您的应用数据将在文件夹内(~ 是您的主目录):

~/Library/Developer/CoreSimulator/<device>

在 XCode 6 之前的版本中,路径为:

~/Library/Application Support/iPhone Simulator/User/Applications/

我按“修改日期”排序以找到我刚刚构建的应用程序。

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

【讨论】:

  • 特别是,Core Data Editor 以合理可访问的方式呈现您的数据库。
  • 有免费的方法吗?
  • Firefox 也有一个免费的 SQLLite 查看插件。购买基地。
  • @Jonathan 是的。转到 Xcode Organizer > your device > your app > Download "Data files in Sandbox"。按住 Ctrl 键单击 .xcappdata 文件并选择“显示包内容”。 AppData > 文档 > 打开 *.sqlite
  • 实际上从 Xcode 6 开始,它似乎位于以下位置:~/Library/Developer/CoreSimulator
【解决方案2】:

您还可以使用 FireFox 的附加工具 SQLite Manager(免费)。我用过,效果很好。

【讨论】:

  • 很棒的答案。下载插件并弄清楚如何启动它后,您可以使用print(NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)) 打印您的数据库位置。然后,在插件中,当您要打开数据库时,您需要在 Finder 中启用隐藏文件夹。
  • 很遗憾addons.mozilla.org/en-US/firefox/addon/sqlite-manager 与最新的firefox 不兼容。
【解决方案3】:

如果您使用的是 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)

【讨论】:

    【解决方案4】:

    您可以尝试一个名为 CoreDataPro 的免费小工具。挺棒的。 Here

    【讨论】:

      【解决方案5】:
      【解决方案6】:

      更新到此线程,iphone 模拟器位置已移至 Xcode7 和 Xcode8 中的不同位置。现在在:

      ~/Library/Developer/CoreSimulator/...

      其中 ~ 是您的主目录。

      之前的任何解决方案仍然有效,但如果您使用之前的链接,您将无法找到正确的文件夹。

      【讨论】:

        【解决方案7】:

        Core Data Lab 是一个专用的 Core Data 查看器,提供查看和分析应用程序的 Core Data 数据库的所有功能,例如自动搜索数据库、数据更改跟踪器、模拟器浏览器、谓词编辑器、数据编辑器、内置的网络和图像内容查看器等等。

        信息页面:https://betamagic.nl/products/coredatalab.html

        14 次免费试用:https://betamagic.nl/downloads/Core%20Data%20Lab%20Trial.zip

        免责声明:我是这个工具的创造者。

        【讨论】:

        • 花了一个小时尝试其他工具。这正是我所期望的,很棒的工具!
        【解决方案8】:

        也可以试试 sqlite 数据库浏览器。它是免费的,反映了这一事实。不过非常有用!

        干杯.bo

        【讨论】:

          【解决方案9】:

          我创建了一个 macOS 应用程序来浏览您的 Core Data 内容。正如您在使用 SQLite 浏览器时看到的那样,它隐藏了 Core Data 实现。您还可以列出所有最新运行的应用程序和模拟器,这样您就可以轻松找到您正在寻找的应用程序。更多信息在这里:

          http://www.microedition.biz/simMagnifier

          它还有其他功能,例如访问模拟器的文件夹,如 Documents、Application Support 等。您也可以查看 NSUserDefaults 的内容。

          该应用程序不是免费的对不起!但至少你有 7 天的试用期。

          【讨论】:

          • 像魅力一样工作!
          【解决方案10】:

          这是完整路径,显然它自 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
          

          【讨论】:

            【解决方案11】:

            三个简单的步骤

            1. 安装 liya 应用程序,它是免费的,大小为 3.1 MB,因此安装在 1 分钟内。
              链接https://itunes.apple.com/us/app/liya/id455484422?mt=12。

            2. 打开 Finder,按“Ctrl + G”或“CMD + Ctrl + G”,粘贴~/Library/Developer/
              在 Developer Folder 中,搜索您的 Core Data 模型名称 (eg. MyProjectModel).

            3. 使用 liya 打开 MyProjectModel.d 文件或“MyProjectModel.sqlite”。在liya中,选择一个表,点击“运行SQL命令”。

            完成。

            【讨论】:

              猜你喜欢
              • 2011-02-18
              • 2014-11-08
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2014-10-14
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多