171

如何在 Xcode 中删除旧的数据模型?该选项在菜单上被禁用。(我要删除的模型尚未向公众发布 - 它们是临时开发模型。)

4

4 回答 4

384

这是一个黑客,但这对我有用:

  1. 将 Xcode 中模型的当前版本设置为您想要保留的版本
  2. 从项目中删除 .xcdatamodeld(右键单击 -> 删除 ->仅删除参考
  3. 在 Finder 中显示 .xcdatamodeld 包的内容(右键单击 -> 显示包内容)
  4. 删除不再需要的 .xcdatamodel 文件
  5. 将 .xcdatamodeld 文件重新添加到您的项目中

这消除了手动修改任何项目元数据文件的需要。

于 2011-11-12T20:59:40.737 回答
38

我刚刚发现有必要这样做。我创建了一个新的模型版本,然后意识到我根本不需要它。我惊讶地发现无法从 Xcode 中删除它(我可以找到)。不过,要删除它,我做了以下操作:

首先,我确定它不是我当前的模型版本。然后我去了 Finder 并找到了我的 *.xcdatamodeld 文件。右键单击并在其上显示包内容。在那里你会找到实际的模型文件并且可以删除它。

这仍然不会从 Xcode 中删除它,它会在文件和组中显示为红色。要阻止这种情况发生,请返回 Finder 并在您的主 *.xcodeproj 文件上显示包内容(您可能需要确保先备份此文件)。在那里打开并编辑 project.pbxproj 查找您的模型版本名称,在我的情况下为“interval 8”。对我来说,它出现在两条不同的线上。我删除了这些行,现在它已完全从 Xcode 中删除。

于 2011-10-25T14:42:02.843 回答
10

这在 XCode 10.3 中对我有用,而在删除整个模型并再次添加它时不会出现排序问题:

  1. 选择您要删除的模型版本以外的任何模型版本。
  2. 在 XCode 中,右键单击 .xcdatamodeld 文件并选择“在 Finder 中显示”。
  3. 关闭 XCode。
  4. 在查找器中,右键单击同一文件并选择“显示包内容”。
  5. 记下您要删除的模型的名称,然后从 Finder 中删除它。
  6. 仍在 Finder 中,导航到项目文件 (.xcodeproj)。
  7. 右键单击并使用Atom或任何其他编辑器打开。
  8. 从“项目”窗格中打开 project.pbxproj 文件。
  9. 删除包含您删除的模型名称的所有行(例如:“ABC 17.xcdatamodel”)。您会发现两行类似于以下内容:

9D88880323C545B800A789B9 / ABC 17.xcdatamodel / = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; 路径=“ ABC 17.xcdatamodel ”;源树 = "";

9D88880323C545B800A789B9 / ABC 17.xcdatamodel /,

请注意,如果您找到第三行,它将类似于:

currentVersion = 9D88880323C545B800A789B9 / ABC 17.xcdatamodel /;

 That means it is the currently selected model. Never delete this line. Just change the text to another model version.
  1. 重新打开 XCode。
于 2020-01-27T17:01:44.880 回答
-4

我的回答根本不是针对特定问题的,但它快速且有效。对于那些使用 git 的人。您可以丢弃未暂存的更改。

git stash save --keep-index

git stash drop然后,如果您愿意,可以使用命令删除该存储。

于 2015-11-09T15:43:06.340 回答