Skip to content
This repository

Core Data code generation

tree: 6bd8051a70
README.markdown

mogenerator + Xmo'd

Visit the project's pretty homepage.

Read the project's backgrounder. Or, for the impatient:

mogenerator is a command-line tool that, given an .xcdatamodel file, will generate two classes per entity. The first class, _MyEntity, is intended solely for machine consumption and will be continuously overwritten to stay in sync with your data model. The second class, MyEntity, subclasses _MyEntity, won't ever be overwritten and is a great place to put your custom logic.

Using Xmo'd

Xmo'd (pronounced ex-mowed) is an Xcode plugin that integrates mogenerator into Xcode. It saves you the hassle of having to write a Run Script Build Phase and/or manually adding+removing source files from your project as you add+remove entities.

Xmo'd works by noticing when your *.xcdatamodel is saved. If the model file's Xcode project item comment contains xmod, an AppleScript is fired that creates a folder based on your model's file name and populates it with derived source code files from your model. It then adds the new folder to your project as a Group Reference and adds all the source files to your project.

Version History

  • 1.14 Fri 9 Oct 2009 download

    • IMPORTANT: 1.14 generates code that may be incompatible with clients of 1.13-or-earlier generated code. +newInManagedObjectContext: has been replaced with +insertInManagedObjectContext: and method implementations have been replaced with @dynamic, which don't work so well with overriding (most of these uses can be replaced with Cocoa Bindings). Upgrade only if you have spare cycles to fix-up existing projects.

    • [CHANGE] changed +newInManagedObjectContext: to +insertInManagedObjectContext: to satisfy the LLVM/clang static analyser. (Ruotger Skupin)

    • [CHANGE] Default machine templates now use @dynamic. The old templates still available in contributed templates/rentzsch non-dynamic. (Pierre Bernard)

    • [CHANGE] Xmo'd included again in default mogenerator installation -- the first time since 1.6. (rentzsch)

    • [CHANGE] Migrated project to github from self-hosted svn+trac installation.

    • [NEW] Xmo'd version checking whitelists Xcode versions 3.1(.x) and 3.2(.x).

    • [NEW] Dropped ppc support for Xmo'd. May reconsider if folks yelp. (rentzsch)

Something went wrong with that request. Please try again.