question

tomityu-2113 avatar image
0 Votes"
tomityu-2113 asked RobCaplan edited

Recommended automatic update libraries for Xamarin.Mac

I'm developing with Visual Studio for Mac using Xamarin.

I'm distributing on my website, not AppStore, and I'd like to add an auto-update feature, do you know any good libraries?
I know SparkleSharp, but it has been out of date for 4 years now, so I'm thinking it's not very desirable.

I tried to create the sparkle bindings myself, but it was not practical to fix the 14145 errors in ApiDefinitions.cs...

dotnet-xamarin
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

1 Answer

JohnConners avatar image
1 Vote"
JohnConners answered 73897394 commented

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.

· 2
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

there's no need for me to bind to the full entirety of the API

That was a blind spot.
I guess that would make maintenance easier.

Thanks for sharing your environment!

1 Vote 1 ·

I ave an question. In documentation I have read that I need follow Sparkle's own documentation to set your appcast URL and add a "Check for Updates" menu item.
In that documentation I read:

Run generate_appcast tool from Sparkle’s distribution archive specifying the path to the folder with update archives. Allow it to access the Keychain if it asks for it (it’s needed to generate signatueres in the appcast).
./bin/generate_appcast /path/to/your/updates_folder/

But I don't have generate_appcast file in Sparkles bin folder, only generate_keys and sign_update.
What I'm doing wrong?




0 Votes 0 ·