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 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 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.

Sign In or Register to comment.