Skip to content

Sharpie 26.4.0.212

Pre-release
Pre-release

Choose a tag to compare

@rolfbjarne rolfbjarne released this 17 Apr 14:58
· 141 commits to main since this release

We're excited to announce the second preview release of a major upgrade to Objective-Sharpie!

Main changes

  • Open source
  • Shipped as a .NET tool
  • Updated to use a much newer version of Clang (21), which also means it's possible to use the latest versions of Xcode.
  • Updated to use ClangSharp instead of a custom clang integration.

Our documentation has been updated as well: https://learn.microsoft.com/dotnet/maui/ios/objective-sharpie/

Installation

Install like this:

$ dotnet tool install -g Sharpie.Bind.Tool
You can invoke the tool using the following command: sharpie
Tool 'sharpie.bind.tool' (version '26.4.0.212') was successfully installed.

or update like this:

$ dotnet tool update -g Sharpie.Bind.Tool
Tool 'sharpie.bind.tool' was successfully updated from version '26.3.0.11' to version '26.4.0.212'.

Important

If the old sharpie is still installed, it might be found when executing sharpie:

$ sharpie --version
3.5.126-e5d8c166 # this is the old sharpie
sharpie --version
dotnet-sharpie 26.4.0.212 # this is the new sharpie

Running this should make the new sharpie take precedence (this won't actually uninstall the old sharpie, just remove the convenience script in "/usr/local/bin/sharpie"):

$ sudo rm -f /usr/local/bin/sharpie

Usage

Use it to bind a framework like this:

$ sharpie bind --framework path/to/my.framework --output output-directory

For more information see https://learn.microsoft.com/dotnet/maui/ios/objective-sharpie/.


Please test and file any issues here!

What's Changed

  • [sharpie/xtro] VersionTuple.IsEmpty is incorrect, so use an extension property with the correct implementation. by @rolfbjarne in #25034
  • [sharpie] Add --custom-delegates option to generate named delegates instead of Func<>/Action<> by @rolfbjarne in #24975
  • [sharpie] Add --deepsplit option to split bindings into one file per source header by @dalexsoto in #24883
  • [sharpie] Add support for visionos_app_extension availability platform. Fixes #18098. by @rolfbjarne in #24828
  • [sharpie] Bump ClangSharp to v21.1.8.3 by @dalexsoto in #25004
  • [sharpie] Fix --scope path matching by @dalexsoto in #24882
  • [sharpie] Fix platform type mapping for types inside generic type arguments. Fixes #24892. by @rolfbjarne in #24911
  • [sharpie] Prefer standard protocol interfaces over [Model] classes in type mapping by @rolfbjarne in #24913

Full Changelog: sharpie-26.3.0.11...sharpie-26.4.0.212