I've been using Sparkle with my Xamarin.Mac app for years without any problems. I literally only use CheckForUpdates
and CheckForUpdatesInBackground
via SUUpdater.SharedUpdater
so there's no need for me to bind to the full entirety of the API. My bindings are even more minimal than the one in SparkleSharp but since those APIs haven't changed it continues to work happily.
The only additional thing I do is when signing my app I also re-sign Sparkle.framework/Versions/A/Resources/Autoupdate.app
and the framework itself (using the hardened runtime) with my certificate.