Monday, May 22, 2023

Setting Up Sparkle

Sarah Reichelt:

Sparkle is an open-source update framework for macOS. It’s very popular and I’m sure you will have seen it used, even if you didn’t recognise it. But setting it up isn’t totally straight-forward, at least I didn’t find it so, which I why I’m using this post to document the process.


The Sparkle documentation is excellent and contains everything you need to know, but they allow for a wide range of use cases and configurations, which makes it difficult to follow at times.


Adding Sparkle to a sandboxed app requires some more steps[…]


Drag the image file into your disk image. Don’t worry about positioning it - you’re about to make the file invisible.

DropDMG is an easier way to create a disk image with a background picture, and it will code sign the .dmg file, too.


2 Comments RSS · Twitter · Mastodon

Astonished that placing a background image into the view of a disk image to advise on how to install software is still considered appropriate or hip. Apple need package management.

I've been using Sparkle in my apps for about two decades, and recently set it up in a new project (imported from SPM now, rather than CocoaPods or hand-building like in the old days). I was bracing for a bunch of hassle to deal with sandboxing, but was pleasantly surprised to find how much they've managed to streamline the setup in 2.x.

One downside of using SPM is that the `generate_appcast` binary ends up in an inscrutable location (in my case, at this moment, it's ` /Users/ben/Library/Developer/Xcode/DerivedData/Tradesy-dnleqmiieejruiawzcazrtmcdsmz/SourcePackages/artifacts/sparkle/bin/generate_appcast`. This makes it impossible to cleanly integrate into a script. For now I'm building/notarizing/packaging releases by hand, but I'd sure like to automate it. There must be something trivial I'm not thinking of.

And as for packaging, I'm with Sebby: the disk image background has always puzzled me, even as a user. In fact, I don't understand the enduring appeal of disk images at all—they're just a hassle to deal with, both as a user and a developer. I gave up on them long ago (again: decades) in favour of plain old zip files. Simple.

Leave a Comment