Compatibility
- 1.25.0, 1.26.0-a1, and master5.35.25.15.04.2
- 1.25.0, 1.26.0-a1, and masteriOSmacOS(Intel)macOS(ARM)LinuxtvOSwatchOS
A software update framework for macOS
Secure and reliable software update framework for Cocoa developers.
This branch is the production ready, battle-tested version of Sparkle used by thousands of Mac apps.
The upcoming Sparkle 2 (currently in beta) can be found in the 2.x branch.
See getting started guide. No code is necessary, but a bit of Xcode configuration is required.
This repository uses git submodules, and will not build unless you clone recursively. Also, GitHub-provided ZIP/tar archives are broken due to GitHub not supporting git submodules properly.
git clone --recursive https://github.com/sparkle-project/Sparkle
Please check Console.app. Sparkle prints detailed information there about all problems it encounters. It often also suggests solutions to the problems, so please read Sparkle's log messages carefully.
Use the generate_appcast
tool which creates appcast files, correct signatures, and delta updates automatically.
Make sure the URL specified in SUFeedURL
is valid (typos/404s are a common error!), and that it uses modern TLS (test it).
Delete your app's preferences (in ~/Library/Preferences/<your bundle id>
) if you've set another feed URL programmatically via Sparkle's Objective-C interface.
Sparkle is built with -fvisibility=hidden -fvisibility-inlines-hidden
which means no symbols are exported by default.
If you are adding a symbol to the public API you must decorate the declaration with the SU_EXPORT
macro (grep the source code for examples).
cd
to the root of the Sparkle source tree and run make release
. Sparkle-VERSION.tar.bz2 will be created in a temporary directory and revealed in Finder after the build has completed.
Alternatively, build the Distribution scheme in the Xcode UI.
We pledge to have an open and welcoming environment. See our Code of Conduct.