.NET Embedding 0.1 release notes
This is the first public release of Embeddinator-4000. It supports the Objective-C language on both macOS or iOS. More languages and platforms will be added in future releases.
- macOS 10.12 (Sierra) or later;
- Xcode 8.3.2 or later;
- Mono 5.0 or later;
- Visual Studio for Mac
- Xamarin.iOS 10.11 preview Available from the alpha channel of Visual Studio for Mac
The Embeddinator-4000 (e4k) can create a native library (or framework) from a managed assembly. This is done by embedding the mono runtime along with generated glue code to call the public API exposed by the assembly.
Some of the supported .NET features are:
- Reference and value types;
- Interfaces, exposed as Objective-C protocols;
- Enums to
- Methods and properties;
- Extensions methods, exposed as Objective-C categories;
- Operators overloads;
- Default values (on methods and constructors);
- Special support for
NSData, other arrays to
When using with Xamarin.iOS it is possible to create applications that consume managed NSObject-subclasses, e.g. you can use a custom, managed
UIView from an Objective-C application.
- This release only generates Objective-C code;
- This release only targets macOS and iOS, 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;
A list of issues, including bugs, enhancements and ideas, is being tracked on github.