June 24, 2013

An updated Objective Sharpie


I’m excited to announce a big update for Objective Sharpie, our automated Objective C binding definition generator that we announced at Evolve. This latest release includes a slew of bug fixes and a newly re-written backend based on the Clang compiler’s C++ API (previously it was based on the slightly less capable C wrapper, libclang). This means we can now provide even more accurate bindings as better information is surfaced to us by Clang’s core.

A few enhancements have been made to the GUI frontend to enable more control over what APIs are bound as well. The most useful is enabling the following of #import and #include directives in header files, and restricting the directory scope of binding generation. This means you can provide Objective Sharpie a top-level header file that includes others instead of providing all of those files manually. It is now also possible to pass additional compiler flags to Clang.

Multiple Xcode installations are now supported. For instance, if you have the Xcode 5 Developer Preview installed, you can now create bindings that target iOS 7.

Objective Sharpie with multiple Xcode Installations

Finally, we are also releasing the more advanced command line client in addition to the Mac GUI. For more serious and advanced binding work, the command line client can be much more useful.

Objective Sharpie Command Line Tool

Download Objective Sharpie Mac GUI

Download Objective Sharpie Command Line Tool

Head over to the Xamarin Forums to discuss this release, and please file any bugs or feature requests under the Objective Sharpie product in Xamarin Bugzilla.