【问题标题】:Delete .xcdatamodel file from Xcode?从 Xcode 中删除 .xcdatamodel 文件?
【发布时间】:2012-01-28 18:31:21
【问题描述】:

我做了一个轻量级的迁移,我决定不再需要了。有什么办法只删除文件吗?我已经将当前模型版本更改为之前的模型版本,并且应用程序运行。但是,当我在 Xcode 文件查看器中右键单击 .xcdatamodel 文件时,“删除”是灰色的。我还尝试从 Finder 中删除该文件,但它会将文件保留在 Xcode 中,已被删除。

有没有办法解决这个问题?

【问题讨论】:

  • 我不知道,但我很好奇是否有人回答这个问题。我能找到的唯一方法是手动编辑项目文件并将其删除。
  • 对所有项目使用 git。很容易准确地看到发生了什么变化并随后恢复。

标签: ios xcode core-data


【解决方案1】:

这也可以通过从项目中删除.xcdatamodeld 来完成(只是删除,而不是删除)。然后,在 Finder(或终端)中删除 违规 .xcdatamodel 文件。最后,在项目中重新导入.xcdatamodeld

【讨论】:

  • 这也许是一种更简单的方法?!?
【解决方案2】:

是的 - 这样做了很多,据我所知,唯一的方法是在您最喜欢的原始文本编辑器(vim ftw!)中打开 YourProject.xcodeproj/project.pbxproj,然后搜索并删除两个违规实例模型文件。即:

D6A5760112F22213004DEDCE /* MyModel.xcdatamodeld */ = {
  isa = XCVersionGroup;
  children = (
    D6EDB44614ED9D7E00C02938 /* MyModel-V12.xcdatamodel */,
    D6931E6214D78135007F0E03 /* MyModel-V11.xcdatamodel */,
    D61403DD14B7857100323E6D /* MyModel-V10.xcdatamodel */,
    D675476B149BD1F3007C160C /* MyModel-V9.xcdatamodel */,
    D6199DD5143DE428002869C1 /* MyModel-V8.xcdatamodel */,
  );
  currentVersion = D6EDB44614ED9D7E00C02938 /* MyModel-V12.xcdatamodel */;
  name = MyModel.xcdatamodeld;
  path = aPath/MyModel.xcdatamodeld;
  sourceTree = "<group>";
  versionGroupType = wrapper.xcdatamodel;
};

所以在这种情况下,我去寻找D6199DD5143DE428002869C1 的两个实例并将它们都从项目文件中删除,然后砰:Bob 是我的叔叔。另外 - 您可以重新排序上面的那部分孩子,以防您想要当前的孩子更高。

在我这样做之后,我通常也会在 model-V8 目录上执行手动源代码库删除命令。

【讨论】:

  • 谢谢!我最终只是在需要(通过新的迁移)之前不使用我不需要的 .xcdatamodel 文件,但这看起来是最好的真正的解决方案。
  • 我一直在寻找解决这个问题的方法。我还发现有更多文件准备好可能删除,例如在 xcdatamodel 本身内
  • 顺便说一下,这也是我用来重新排序行的技术。
  • 没问题!我很惊讶这继续得到支持......从 2012 年开始 :)
猜你喜欢
  • 2011-10-06
  • 2011-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多