Core Data Editor lets you easily view, edit and analyze applications‘ data (the application has to use Core Data). Core Data Editor is compatible with Mac and iOS applications and supports XML, SQLite and binary stores, visualizes all relationships and is able to edit the data and generate Objective-C code for the data model!

Watch Core Data Editor in action

Core Data Editor makes it easy to analyze Mac and iOS application‘s data. Just drop a set of application and a persistent store file on it and let it do its magic. Within seconds you have all XML, SQLite or binary data at hand and can analyze it. Need to know relationships? No problem – just double-click any entry and instantly see all relationships of the corresponding entry. Relationships of relationships of relationships – you get the idea.

But that's not all: As the name suggests you can also edit all data – just add or change entries. Core Data Editor also visualizes binary data to allow you having a look at e.g. pictures or other media. Handy, isn‘t it?

Now that you know about the data model, the data itself and the relationships, you might want to make your coding work more effective? Instead of now manually writing the code, Core Data Editor has a more effective approach: It generates the code for you. Yes, real-world Objective-C code you can really use! Using "mogenerator" by Jonathan 'Wolf' Rentzsch, Core Data Editor generates "two classes per entity: one for machines, one for humans. The machine class can always be overwritten to match the data model, with humans' work effortlessly preserved" (mogenerator website).

Working with Core Data? Working with complex object models? Working with complex delete rules? Working with a lot of data? You want Core Data Editor.

  • Easy setup: Just drop an Mac or iOS application and a persistent store file on it
  • Wide compatibility: Mac and iOs applications, XML, SQLite and binary persistent store files
  • Easy and intuitive browsing of your data – double-clicking is all you need to do
  • Data editing supported
  • Preview of binary data (Including Quick Look)
  • Inline (video) tutorials in case you get stuck
  • Lion compatible: Fullscreen and Versions are supported

Watch Core Data Editor in action



Main WindowNew Project (App Bundle)Versioned ModelsNew Project (Store File)SummaryGenerating Code

Q: Which store types are supported by Core Data Editor?

Core Data Editor supports binary, XML and SQLite stores.

Q: What do I need in order to create a Core Data Editor project?

You need your (or any) application bundle (.app) which has to contain one or more compiled managed object models. In addition you need to have store file that is compatible to the model inside your application bundle.

Q: What does happen if I have more than one model inside by application bundle e.g. because of using versioned Core Data models?

When creating a Core Data Editor project you have to drop your application bundle on Core Data Editor. Core Data Editor then analyzed your application bundle. If Core Data Editor finds more than one model it will show them to you. You then have to select one model which will then be used.

Q: Can I work with the data stored on my iOS device? How?

Yes you can but you have to get the data off your device first. Connect your device to your Mac and then open Xcode. Go to the Organizer window and click on the 'Devices' icon in the toolbar. You should see your device on the left outline view. Click on 'Applications' which should bring up a list of applications you created and put on your device. Select the application whose data you want to examine with Core Data Editor and then click on 'Download'. The downloaded archive should contain the store file - usually inside the 'Documents' directory.

Q: How can I save my changes back to the store file?

You have to save your Core Data Editor project first. Once you save your project every time you hit save Core Data Editor will save the project itself and the changes you made to the store file.

Q: How can I see the objects that are related to another object?

Double click the object in the table view. This should bring up a menu which shows the relationships for that object. Select a relationship to see the objects for that relationship. You can go back by clicking on the back button in the lower right corner.

Q: How can I create relationships?

There are two different ways to create relationships. Lets say you have two entities: House and Person and that a person can life in one house and a house can be the home for multiple persons. You can then double click on an existing person which brings up the relationships menu. Click on the 'persons' relationship. This should bring up an empty table view. Now you can create persons by clicking on the '+'-button. Core Data Editor will create a new person each time you click on the '+'-button and connect it to the house you double clicked on previously. This also works with to-one and many-to-many relationships. You can also create relationships by copy and paste. First you have to select one or more objects in the table view and copy them to the clipboard. Then you have to double click on an object again and select a relationship. Once the new table view appears paste the objects in the table view. You may have to click inside the table view first so that it has focus. Core Data Editor will setup the relationships for you.

Q: I have created a new Core Data Editor project but I don't see any data. Whats wrong?

Please make sure that the store file is compatible to the model. If you think that there is nothing wrong with your setup please open the Console application and search for 'Core Data Editor'. Do you see something unusual? Please send me the suspicious log entries to support@christian-kienle.de. You can also send me your model and store file so that I can have a look at it myself. If it turns out to be a bug you get a fixed version of Core Data Editor within a few days.

Q: I told Core Data Editor to create code for my model but Core Data Editor did not create any source code. Whats wrong?

Please make sure to set the class name of your entities by using the model editor in Xcode. Then use Core Data Editor again to create code for the updated model.

Q: I am having trouble getting the CSV importer to work. Can you tell me a little more about it?

Of course! You need a CSV file which uses an encoding that can be guessed by NSString. To eliminate issues with the encoding simply open the CSV file with TextEdit, duplicate and save it. In the save dialog you can set the encoding explicitly to Unicode (UTF-8). The delimiter used in your CSV file should be either "," (comma), ";" (semicolon) or tabulator. You can select the delimiter in the open file dialog within Core Data Editor. If your CSV file contains a header row then you have to check the "First line contains column names" checkbox. After that Core Data Editor shows a dialog that lets you select a destination entity and a column to attribute mapping. Once you hit "Import..." Core Data Editor will go ahead, create the managed objects according to the data in the CSV file and save everything. In addition Core Data Editor will perform a basic type check during the import for example if you map a column that contains strings to an integer attribute Core Data Editor will notice this during the import and ignore data with incorrect type information. The format of the CSV file is straight forward: Strings are represented by text without quotes around it. Bools are represented by 1 (= YES) and 0 (= NO). Dates have to be formatted according to the following format: YYYY-MM-DD HH:MM:SS ±HHMM (example: 2001-03-24 10:45:32 +0600). This is because Core Data Editor is using +dateWithString: (NSDate) to create date values.

Q: I still have a question. Can I get in touch with you?

Sure! Send me an email: support@christian-kienle.de