Source for many of The Omni Group's frameworks
Objective-C Swift C HTML Ruby Shell Other
Clone or download
tjw Updated with changes from OmniGroup svn [307964:308736]
- Switch to requiring Xcode 9.3
- Bump the deployment target from iOS 11.2 to 11.3.

- Improve support for re-inserting deleted objects.

- Updated DifferenceSectionUpdater to give clients the opportunity to update a footer view in response to calling the sectionUpdate from within:
- Fix crash in DifferenceEngine when querying UITableView for a offscreen header/footer returns nil (which it does instead of creating one).

- Various multi-pane improvements/fixes.
- Add pixels-per-inch info for recent iPads.

- Access a security scoped bookmark outside of file coordination.
- Don't try to report an error on a background thread.

- -[NSApplication makeWindowsPerform:inOrder:] is soft-deprecated; switch to -enumerateWindowsWithOptions:usingBlock:.
Latest commit e76c21e Apr 20, 2018



Checking out the source

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


  • We currently use Xcode 9.3 for all platforms. You'll probably have the best results if you do too.
  • Add the projects you want to your workspace.
  • Take a look in the Workspaces directory for a sample workspace for the TextEditor iPad example app.

Supported Targets

  • We require iOS 11.3 and Mac OS X 10.12.

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).


The Workspaces directory contains a couple sample workspace that can be built from Xcode.