Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Source for many of The Omni Group's frameworks
Objective-C C Ruby C++ Ragel in Ruby Host Shell Other
branch: master

Updated with changes from OmniGroup svn [r217626:220067]

- Lots more deprecation fixes for APIs that were soft deprecated in the past, but no one noticed... Still plenty of deprecation warnings to fix on the Mac side.
- Removed 'Rez' build phases and updated projects to Xcode 6.1.
- More progress on converting iOS static library targets to frameworks. Plenty more to do.
- Fixed various issues with attempting to turn on ObjC modules. Sadly, builds with modules enabled are slower than using prefix headers. Didn't add the modulemap files since we didn't turn on modules after all.
- Updated/added localized string files
- Added @3x images for iOS and some @2x images for Mac

- Added +protocols debugging method

- Added OFByteProviderProtocol
- Added OFASN1Utilities
- Fixed registration of the crash-on-unhandled-exception preference
- Require 10.10 in our runtime checks
- Improved parsing of dates in more locales with OFRelativeDateParser and fall back to US formats (so 'today' will always work). Extended tests to cover these cases.
- Added NSFileManager wrappers for setting the NSURLIsExcludedFromBackupKey key

- Removed old code that attempted to display uncaught exceptions and keep limping on. In an autosave world, we prefer to get a crash report so we can fix it.
- Improved font matching in OAFontDescriptor
- Avoid crashes in WebKit under Yosemite due to non-retained backpointer being kept alive

- Automatically retry some operations when we get kCFErrorDomainCFNetwork/kCFURLErrorNetworkConnectionLost. Yosemite seems to have a bug with reusing SSL connections when the server has closed the remote socket. But, we've not been able to track down a standalone test case.
- Remove finished NSURLConnections in ODAVConnections when they are done

- Incorporate changes from more recent OmniFocus branches

- Added experimental/prototype support for encryption. More work needed before this should be used.

- Set sample documents to be not backed up until the first time they are edited.
- More work on adaptable interfaces

- Add support for OFByteAcceptor/OFByteProvider
latest commit 670db3e8bd
Timothy J. Wood tjw authored



Checking out the source

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


  • We currently use Xcode 6.1 for iOS and Mac OS X. 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. We're in the process of converting to iOS frameworks, which should help avoid this Xcode problem.
  • Take a look in the Workspaces directory for a sample workspace for the TextEditor iPad example app.

Supported Targets

  • We require iOS 8.0 and Mac OS X 10.10.

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.


Something went wrong with that request. Please try again.