如何在 Xcode 中删除旧的数据模型?该选项在菜单上被禁用。(我要删除的模型尚未向公众发布 - 它们是临时开发模型。)
4 回答
这是一个黑客,但这对我有用:
- 将 Xcode 中模型的当前版本设置为您想要保留的版本
- 从项目中删除 .xcdatamodeld(右键单击 -> 删除 ->仅删除参考)
- 在 Finder 中显示 .xcdatamodeld 包的内容(右键单击 -> 显示包内容)
- 删除不再需要的 .xcdatamodel 文件
- 将 .xcdatamodeld 文件重新添加到您的项目中
这消除了手动修改任何项目元数据文件的需要。
我刚刚发现有必要这样做。我创建了一个新的模型版本,然后意识到我根本不需要它。我惊讶地发现无法从 Xcode 中删除它(我可以找到)。不过,要删除它,我做了以下操作:
首先,我确定它不是我当前的模型版本。然后我去了 Finder 并找到了我的 *.xcdatamodeld 文件。右键单击并在其上显示包内容。在那里你会找到实际的模型文件并且可以删除它。
这仍然不会从 Xcode 中删除它,它会在文件和组中显示为红色。要阻止这种情况发生,请返回 Finder 并在您的主 *.xcodeproj 文件上显示包内容(您可能需要确保先备份此文件)。在那里打开并编辑 project.pbxproj 查找您的模型版本名称,在我的情况下为“interval 8”。对我来说,它出现在两条不同的线上。我删除了这些行,现在它已完全从 Xcode 中删除。
这在 XCode 10.3 中对我有用,而在删除整个模型并再次添加它时不会出现排序问题:
- 选择您要删除的模型版本以外的任何模型版本。
- 在 XCode 中,右键单击 .xcdatamodeld 文件并选择“在 Finder 中显示”。
- 关闭 XCode。
- 在查找器中,右键单击同一文件并选择“显示包内容”。
- 记下您要删除的模型的名称,然后从 Finder 中删除它。
- 仍在 Finder 中,导航到项目文件 (.xcodeproj)。
- 右键单击并使用Atom或任何其他编辑器打开。
- 从“项目”窗格中打开 project.pbxproj 文件。
- 删除包含您删除的模型名称的所有行(例如:“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.
- 重新打开 XCode。
我的回答根本不是针对特定问题的,但它快速且有效。对于那些使用 git 的人。您可以丢弃未暂存的更改。
git stash save --keep-index
git stash drop
然后,如果您愿意,可以使用命令删除该存储。