【问题标题】:Convert Core Data file from binary to XML将核心数据文件从二进制转换为 XML
【发布时间】:2012-06-04 00:23:04
【问题描述】:

Xcode 4 现在显然将 Core Data 文件存储在 XML 中,而之前的版本创建了二进制文件。我想将一些较旧的 .xcdatamodel 文件(嗯,该包中的元素和布局二进制文件)转换为 XML 版本,以便我可以在多个源代码控制分支中区分和合并它们。

有谁知道如何获取现有的 Xcode Core Data 模型文件(.xcdatamodeld、.xcdatamodel 或其他)并将其转换为较新的 XML 文件?

【问题讨论】:

标签: xcode core-data


【解决方案1】:

您可以通过在 Xcode 中更改 .xcdatamodel 文件的工具版本来将旧的二进制文件转换为 XML。

步骤:

  1. 在 Xcode 中选择 .xcdatamodel 文件。
  2. 在 Utilities 窗格(⌘⌥0 - 右侧窗格)中,找到 Core Data Model > Tools Version 并将最小值设置为 Xcode 4.1(或更大)。
  3. 瞧!您的 .xcdatamodel 文件现在应该被格式化为 XML。

感谢Sam Hatchett's answer 将我指向this answer,这最终导致了解决方案。

【讨论】:

  • 太棒了,谢谢乔希!看起来这种变化也很适合轻量级迁移(应该如此)。
【解决方案2】:

我没有二进制 xcdatamodel 文件来尝试这个,但是this question 的答案会满足你的需要吗?基本上是将旧文件作为新数据模型的“版本”导入?

【讨论】:

  • 我不确定您如何将旧文件作为新文件的版本导入。我创建了一个新模型文件,然后尝试了各种拖动技术将旧文件放入新文件 - 似乎没有任何效果。
  • 刚刚找到编辑器菜单 > 导入...,它不允许我导入旧的二进制文件。事实上,我不知道那是为了什么。如果有一些关于它的文档,也许可以以某种方式使用该功能......
  • 我想知道 this answer might help - 看起来你可以调整你可以打开的 xcdatamodel(d) 文件的版本......但我可能误解了那个界面。
【解决方案3】:

我认为我知道的唯一方法是编写一个工具,从旧格式中捕获所有信息并生成新格式的“骨架”并填写相应的值。我们可以举一个新旧格式的例子吗?

【讨论】:

  • 旧格式为二进制,新格式为 XML。我对编写转换器不感兴趣 - 我正在寻找来自 Apple 的现有工具...
猜你喜欢
  • 1970-01-01
  • 2012-12-16
  • 1970-01-01
  • 2020-06-28
  • 2014-07-30
  • 1970-01-01
  • 2020-01-12
  • 2014-05-11
  • 2023-01-07
相关资源
最近更新 更多