Binding Sparkle to a Xamarin.Mac solution

MatthieuDMatthieuD ✭✭Member ✭✭

Hello,

Before unifying the Mono APIs of my project, I was using Sparkle to handle the update part.
The library I used is no longer compatible with the newest Mono lib.

I am sure Sparkle is now 64 bit compatible, but I have not found a way to link a Sparkle dll to my project.

I have tried this one : https://github.com/rainycape/SparkleSharp but it appears to be for the un-unified Mono version (2016).

Is it even possible to have a Sparkle binding for Xamarin.Mac ATM?

Posts

  • ChrisHamonsChrisHamons Xamurai USForum Administrator, Xamarin Team Xamurai

    You would need to use a binding project and bind the ObjC API to C#.

    There may be a community binding already, you may want to do some research or contact the maintainers directly.

  • MatthieuDMatthieuD ✭✭ Member ✭✭

    It fails saying Sparkle uses an old version of XamMac.
    I guess this is no longer your problem :smiley:

    Thanks for your answer, I have created a ticket on their GitHub.

  • MatthieuDMatthieuD ✭✭ Member ✭✭

    Can't seem to bind this lib to my project, probably due to several issues:
    I have unified my Mono APIs using the "unsupported framework, .net 4.5.2". The other 2 mods (modern and full) completely break all my other libs (including the .net ones).
    When creating a binding library project, it only proposes modern and full mods, so I can't link it to my project because of unmatched versions of mono framework I guess. If I force the unsupported framework, .net 4.5.2 onto the binding lib, I can link it to my project and it compiles but the application crashes at start (even before starting the debug mode).

    I have a couple questions:
    - Is it normal that a binding project lib cannot be on unsupported framework? Do I have to be on unified full or modern (apparently only .net 4.5, can' t choose any other version) to bind a native library?
    - What other framework could replace Sparkle? What is commonly used to update a Xamarin.Mac application? The executables are on my servers, so not on any store.

  • ChrisHamonsChrisHamons Xamurai USForum Administrator, Xamarin Team Xamurai

    So some of the details are written up here and I wrote up some history here but the short version is that "Full" and "System" are mostly compatible, as long as you stay away from dark corners of System.Web and System.Drawing.

    I just tested it and was able to consume a "Full" binding in a "System" app without trouble, as long as they are both Unified.

    I know in the past people have used Sparkle. I don't do App development myself, so I'm unsure if there are other frameworks that could replace it.

    This documentation may be useful in getting more information on your crash on startup issue.

  • kenneth.leekenneth.lee ✭✭✭ USMember ✭✭✭

    i managed to use that library you mentioned you need to follow the instructions on the read me and add sparkle as a subdirectory (atleast is what got me)

Sign In or Register to comment.