Skip to content
This repository

Source for many of The Omni Group's frameworks

branch: master

Updated with changes from OmniGroup svn [r207477]

- Fixed build issues with Xcode 5.1's version of clang
- Fixed 64-bit issues for iOS
- Fixed deprecated API issues for requiring the 10.9 SDK
- Be more explicit about __autoreleasing in various out-parameter places for compatiblity with '-fobjc-arc-disable-writeback'
- Enabled GCC_WARN_UNDECLARED_SELECTOR in some projects; will continue to advance to others

- Require the 10.9 SDK
- Remove explicit list of architectures for iOS, allowing 64-bit builds

- Add some more ARC helpers
- Remove some GC helpers

- Improve error handling in OFLockFile
- Add keyed access for OFBijection
- Started moving away from OFSubjectTargetingScriptCommand.
- Added a helper for re-evaluating an object specifier with a different container
- Added more scripting debug helpers
- Improved ARC friendliness of a bunch of code
- Added NSString +invalidXMLCharacterSet and +discouragedXMLCharacterSet and deal better with discouraged characters
- Made OFRandom's shared state thread safe instead of just warning about it
- Made OFPreference KVO compliant for objectValue
- Expose support for a reference date in OFRelativeDateParser/OFRelativeDateFormatter

- Do a better job sending feedback with non mailers
- Removed the pattern color picker
- Converted OAAboutPanel to xib
- Added an action to open the application scripts folder (for sandboxed app's usage)
- Cleaned up the find API
- Added NSWindow methods to gather blocks and execute them before windows are displayed
- OAContextControlDelegate is a formal protocol now
- Added AXShownMenu and AXShowMenu support
- +tintedImage:... now returns a self-updating tinted image

- Removed the ODO_SUPPORT_UNDO setting from ODOFeatures.h since we always have NSUndoManager.

- Added a test case for a spurious conflict case

- Converted to ARC
- More work on support for sidebar inspectors
- Inspectors are finally NSViewController-based

- Avoid an exception if we get a nil colorspace
- Support fill-and-stroke on the vector output path

- Fixed unrecognized selector exception on significant time changes on iOS

- Improved handling of app-owned 'special' URLs
- Restored single-swatch rendering to OUIColorAttributeInspectorWell
- Add our own image picker rather than trying to shoehorn Apple's into our navigation controller
- Added OUISegmentedViewController
- Updated look for OUIInspectorOptionWheel

- Fix a crasher when duplicating an OmniPresence document w/o a preview while offline
- Improved import/export support
latest commit 910269671a
Timothy J. Wood tjw authored
Octocat-spinner-32 Configurations Updated with changes from OmniGroup svn [r207477] April 11, 2014
Octocat-spinner-32 Frameworks Updated with changes from OmniGroup svn [r207477] April 11, 2014
Octocat-spinner-32 Scripts Updated with changes from OmniGroup svn [r207477] April 11, 2014
Octocat-spinner-32 Tools Updated with changes from OmniGroup svn [r207477] April 11, 2014
Octocat-spinner-32 Workspaces Updated with changes from OmniGroup svn [r207477] April 11, 2014
Octocat-spinner-32 .gitignore Ignore xccheckout files. September 18, 2013
Octocat-spinner-32 .gitmodules Switch to the read-only git: URL for the submodule. July 04, 2012
Octocat-spinner-32 OmniSourceLicense.html Adding a copy OmniSourceLicense.html at the top level to make it easi… December 30, 2008
Octocat-spinner-32 README.markdown Updated with changes from OmniGroup svn [r207477] April 11, 2014


Checking out the source

git clone git://
git submodule update --init


  • We currently use Xcode 5.1. You'll probably have the best results if you do too.
  • Add the projects you want to your workspace.
  • If building for iOS, you need to edit your scheme to turn off implicit dependencies and parallel builds. Xcode doesn't understand implicit dependencies with static libraries, so you'll need to add the dependencies to your scheme in the right order.
  • Take a look in the Workspaces directory for a sample workspace for the TextEditor iPad example app.

Supported Targets

  • We require iOS 7.1 and Mac OS X 10.9.

Configuring the Source

We place our project-wide configuration options in xcconfig files, under OmniGroup/Configurations. The naming scheme of the files is fairly straightforward, hopefully. Each project has Omni-Global-{Debug,Release,...}.xcconfig as the basis for the corresponding configuration. Each Mac target has Omni-{Bundle,Application,Tool,...}-{Debug,Release,...}.xcconfig and each iOS target has Touch-{Application,Library}-{Debug,Release,...}.xcconfig. Each of these end point configurations when #includes 'superclass' configurations (with "Common" in the name).

Building from the command line

To build Debug versions of all the Omni frameworks:

cd OmniGroup
./Scripts/Build Frameworks

To build Release versions of all the Omni frameworks, instead do:

./Scripts/Build Frameworks install


Something went wrong with that request. Please try again.