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

时间:2011-10-10 03:57:46

标签: xcode core-data version-control xcdatamodel

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

4 个答案:

答案 0 :(得分:358)

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

  1. 将Xcode中当前版本的模型设置为您要保留的版本
  2. 从项目中删除.xcdatamodeld(右键单击 - >删除 - > 仅删除参考
  3. 在Finder中显示.xcdatamodeld包的内容(右键单击 - >显示包内容)
  4. 删除您不再需要的.xcdatamodel文件
  5. 将.xcdatamodeld文件重新添加到项目中
  6. 这消除了手动修改任何项目元数据文件的需要。

答案 1 :(得分:35)

我刚刚发现需要这样做。我创建了一个新的模型版本然后意识到我毕竟不需要它。我惊讶地发现没有办法从Xcode中删除它(我能找到)。不过,为了删除它,我做了以下事情:

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

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

答案 2 :(得分:3)

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

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

    9D88880323C545B800A789B9 / * ABC 17.xcdatamodel * / = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path =“ ABC 17.xcdatamodel ”; sourceTree =“”; };

    9D88880323C545B800A789B9 / * ABC 17.xcdatamodel * /,

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

    currentVersion = 9D88880323C545B800A789B9 / * ABC 17.xcdatamodel * /;

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

  10. 重新打开XCode。

答案 3 :(得分:-3)

我的答案根本不是针对具体问题的,但它的快速和有效。对于那些使用git的人。您可以放弃未分级的更改。

git stash save --keep-index

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