Reputation: 4179
How can I delete an old Data Model in Xcode? The option is disabled on the menu. (The models I want to delete have not been released to the public - they are interim development models.)
Upvotes: 178
Views: 47501
Reputation: 816
This worked for me in XCode 10.3 without the ordering issue occurring when removing the whole model and adding it again:
9D88880323C545B800A789B9 /* **ABC 17.xcdatamodel** */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "**ABC 17.xcdatamodel**"; sourceTree = "<group>";
and
9D88880323C545B800A789B9 /* **ABC 17.xcdatamodel** */,
Note if you find a third line it will be something like:
currentVersion = 9D88880323C545B800A789B9 /* ABC 17.xcdatamodel */;
That means you haven't selected a model other than the one you want to delete (step #1). Don't delete this line. You can just change the model name in it.
Upvotes: 21
Reputation: 4537
I've just found the need to do this. I created a new model version then realised I didn't need it after all. I was surprised to find there was no way of deleting it (that I could find) from Xcode. Still, to remove it I did the following:
First I made sure it wasn't my current model version. Then I went to Finder and found my *.xcdatamodeld file. Right click and Show Package Contents on that. In there you will find the actual model file and can delete it.
This still doesn't remove it from Xcode and it will show red in the Files and Groups. To stop this from happening go back to Finder and Show Package Contents on your main *.xcodeproj file (you may want to make sure you have a backup of this first). In there open up and edit project.pbxproj do a find on your model version name, in my case "interval 8". For me it appeared on two separate lines. I removed these lines and now it's completely removed from Xcode.
Upvotes: 44
Reputation: 4558
It's a hack, but this worked for me:
This eliminates the need to manually modify any of the project metadata files.
Upvotes: 394