Embeddinator-4000 0.2

This is the second public release of Embeddinator-4000. It supports the Objective-C language on macOS, iOS, and tvOS. More languages and platforms will be added in future releases.

Requirements

  • macOS 10.12 (Sierra) or later;
  • Xcode 8.3.2 or later;
  • Mono 5.0 or later;

Optional

What's New

  • tvOS support - pr329
  • Improved behavior when generated code would duplicate other library or system selectors.

Objective-C Support

  • pr284 - [interop] Added support for IFormatProvider as a Objective-C protocol;
  • pr299 - [interop] Added support for managed types implementing IEquatable<T>;
  • pr292 - [interop] System.Decimal is now mapped with Foundation's NSDecimalNumber
  • pr315 - [generator] Better names are generated when types are used
  • pr344 - [interop] Added support for conversion between NSDate and DateTime.
  • pr332 - [objc] Add decimal array ref support
  • pr327 - [objc] Add support for System.TimeSpan into generated projects

iOS Support

  • pr305 - [mtouch] Native symbols stripping now supported with Xamarin.iOS in embeddinator mode
  • pr319 - [linker] Automatically create XML file to preserve anything required from SDK assemblies;

macOS Support

  • pr324 - [mmp] Support for native frameworks generated with Xamarin.Mac;
  • pr324 - [registrar] Support for subclassing managed subclasses of NSObject from Xamarin.Mac based assemblies;

note: macOS support without Xamarin.Mac remains supported but requires a compatible version of Mono to be installed on the computer;

tvOS Support

  • pr329 - Support for tvOS is now available. It requires Xamarin.iOS to be installed;

Other New Features

  • pr339 - [driver] The command line tool now support nowarn: to reduce the number of warnings (e.g. when binding an assembly that cannot be modified);
  • pr339 - [driver] The command line tool now support warnaserror: to ensure some warnings cannot be overlooked;

Known Issues

  • This release only generates Objective-C code;
  • This release only targets macOS, iOS, and tvOS - the latter requires Xamarin.iOS (10.11+) to be installed;
  • Some C# features (e.g. generics) are not yet supported;
  • In some cases the generator produces duplicate symbols, which won't compile. Please file issues on github if this occurs.

A list of issues, including bugs, enhancements and ideas, is being tracked on github.

Xamarin Workbook

If it's not already installed, install the Xamarin Workbooks app first. The workbook file should download automatically, but if it doesn't, just click to start the workbook download manually.