如何在 Xcode 中删除旧的/未使用的数据模型版本

问题描述 投票:0回答:4

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

xcode core-data version-control xcdatamodel
4个回答
393
投票

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

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

这样就无需手动修改任何项目元数据文件。


43
投票

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

首先我确定这不是我当前的型号版本。然后我转到 Finder 并找到我的 *.xcdatamodeld 文件。右键单击并显示包内容。在那里您将找到实际的模型文件并可以将其删除。

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


18
投票

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

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

9D88880323C545B800A789B9 /ABC 17.xcdatamodel/ = {isa = PBXFileReference;最后已知的文件类型 = 包装器.xcdatamodel;路径=“ABC 17.xcdatamodel”; sourceTree = "";

9D88880323C545B800A789B9 /ABC 17.xcdatamodel/,

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

当前版本 = 9D88880323C545B800A789B9 / ABC 17.xcdatamodel /;

这表示它是当前选择的型号。切勿删除此行。只需将文本更改为其他模型版本即可。

  1. 重新打开XCode。

-5
投票

我的回答根本不是针对具体问题的,但它很快并且有效。对于那些使用 git 的人来说。您可以放弃未暂存的更改。

git stash save --keep-index

然后,如果您愿意,可以使用

git stash drop
命令删除该藏匿处。

© www.soinside.com 2019 - 2024. All rights reserved.