Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Xcode 4, Core Data Model Version - Set Current Version

People also ask

How do I enable core data in Xcode?

Get our help adding Core Data to your project So, with your existing project open, create a new project in Xcode (⇧⌘N) and select a Single View App, you can call it whatever you like as we'll be deleting it when we're done. You'll see the “Use Core Data” checkbox on the project options screen, make sure it is checked.

How do I uninstall Xcdatamodel?

You can delete a data model from the Data Model management page or the Data Model Editor. Just click Edit and select Delete. Note: If your role grants you the ability to create data models, it should grant you the ability to delete them as well.

What is migration in core data?

Migrations happen in three steps: First, Core Data copies over all the objects from one data store to the next. Next, Core Data connects and relates all the objects according to the relationship mapping. Finally, enforce any data validations in the destination model.


  1. Click on the top level .xcdatamodelId file (the one that has the many versions of .xcdatamodel under it as children).
  2. Make sure the Utilities sidepane is visible (if not click on the third "View" button at the top right of the window).
  3. In the Utilities sidepane select the File inspector (little paper icon on the top left)
  4. You will see "Versioned Core Data Model" as a group so just change the "Current" drop-down to your new version.

In Xcode 4, if you only see one version of your data model under the "Versioned Core Data Model - Current" section of the file inspector when you have your *.xcdatamodeld file selected; or you have a 2nd version of your *.xcdatamodel file showing outside of the xcdatamodeld bundle in Xcode's project navigator, read below.

To fix this:

1) Remove both both the *.xcdatamodeld and *.xcdatamodel references from Xcode by right clicking on them in the project navigator and hitting "Delete".

2) When prompted by Xcode, click Remove References Only (very important).

3) Restart Xcode for good measure in case there is any caching going on.

4) Re-add the single *.xcdatamodeld file that contains both *.xcdatamodel files.

Xcode should now recognize the relationships and allow you to expand the *.xcdatamodeld file in the project navigator to show both *.xcdatamodel files under the parent xcdatamodeld bundle, also showing a green checkmark next to the current model. This should also allow you to select the current version of the data model in the file inspector instead of only showing one version.


For Xcode 4.2

  1. Click on YourModel.xcdatamodeld

  2. Make the side pane visible

  3. Under "versioned core data model", select the "current drop down box", select you data model.

Now the green tick mark is moved to your current data model.


Searching in Xcode's Help for "Current Version" yields a recipe "Setting a Managed Object Model’s Current Version" which describes how to do this...


A little off topic, but if you've reached this question in order to know how to create a first new version of your model (like i did) : click on the xcdatamodel file >> Menu "Editor" >> Add Model version

This will initiate the versionning of the model.