Configurations:
- Updated for apparent renaming of CLANG_ANALYZER_MALLOC -> CLANG_ANALYZER_MEMORY_MANAGEMENT
- Updated for apparent renaming of CLANG_ANALYZER_OBJC_CFNUMBER -> CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION.
- Updates to fix use of NSErrorDomain/NSErrorUserInfoKey/NS_ERROR_ENUM.
- Fix implicit conversion of NSNumber to BOOL.
- Update some targets to Swift 4.
- Nullability and type annotations.
- Layout fixes.
OmniFoundation:
- Fix OFXMLElement's block applier to work correctly on elements with a
single child.
- Add more Swift wrappers for UTI conveniences.
OmniDataObjects:
- Invalidate computed properties during undo or redo, and suppress
snapshot-based differences of those same properties. This leaves their values
nil after an undo/redo change, and the next access will compute
them correctly.
OmniSoftwareUpdate:
- Updated the OSUInstaller.sh script to specify the path to /usr/bin/id,
and to ignore any errors from that command (which is just there to
produce diagnostic output to help us determine why the script might be
failing in other circumstances).
- When we find a news item is available, attempt to download it and cache
the html before alerting the user. When the user requests to see it,
try first to load it directly from the web, which is the only way we can
expect a good visual result. If that fails, show the cached html, which will
have no CSS and no images but will at least be something and the text should
be readable.
Clear the cache after the real page is successfully shown, or before running
a new OSU check.
OmniAppKit:
- Update an assertion to only assert we have integral-sized images for resources
from our bundle.

README.markdown

OmniGroup

Checking out the source

Xcode

We currently use Xcode 9.1 and 9.2 beta 2 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 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).

Building

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