How do I use Mogenerator? How do I use Mogenerator? xcode xcode

How do I use Mogenerator?


One more caveat to be aware of: You have to already set the Class properties of your entities to something different than NSManagedObject. Otherwise Xmo'd won't do anything.

Note: Xmo'd currently doesn't work with Xcode 4/5, afaik.

What I do is just add a "MOGenerator" target in Xcode:

  1. Go to your project and click on "Add Target..." in the "Targets" section.
  2. Choose "iOS -> Other -> Aggregate"
  3. Go to "Build Phases"
  4. Select from the Menu "Editor -> Add Build Phase -> Add Run Script Build Phase"
  5. Paste your MOGenerator command into the Run Script section, for example:
PATH=${PATH}:/usr/local/bin    cd "${PROJECT_DIR}/MyApp"mogenerator --human-dir Classes --machine-dir MOGenerated --model MyApp.xcdatamodeld/MyApp.xcdatamodel --template-var arc=true

Now you can update your MOGenerator-generated by simply running this target.


mogenerator is a script that is installed into your developer directory as I recall. However it might be installed into the Xcode scripts directory under your ~/Library.

What do you mean by manually triggering the application? You can trigger a build by "touching" the data model. Any save on the data model will trigger the build

In Xcode if you select the model file and hit ⌘I you will get its metadata. Click on the comments tab and add xmod there. mogenerator looks for that comment to know if it should generate files.

Update

You can run mogenerator from the command line as well as have it monitor your files. Type mogenerator --help in the Terminal to see the options.


I searched my hard drive and found the following files:

The application is installed to: /usr/bin/mogenerator.

The /Library/Application Support/mogenerator/ directory contains some .motemplate files.