从Xcode中删除.xcdatamodel文件?

时间:2011-12-27 21:00:49

标签: ios xcode core-data

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

有什么方法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:25)

是的 - 已经做了很多,据我所知,唯一的方法是在你最喜欢的原始文本编辑器(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目录上执行手动源代码删除命令。

答案 1 :(得分:3)

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