Skip to content

usecanvas/Sparkle

 
 

Repository files navigation

Sparkle Build Status Coverage Status Carthage compatible CocoaPods sponsored by: MaxCDN

An easy-to-use software update framework for Cocoa developers.

Sparkle shows familiar update window with release notes

Changes since 1.5b

  • Up-to-date with 10.11 SDK and Xcode 7. Supports macOS 10.7+.
  • Cleaned up and modernized code, using ARC and Autolayout.
  • Merged bugfixes, security fixes and some features from multiple Sparkle forks.
  • Truly automatic background updates (no UI at all) when user agreed to "Automatically download and install updates in the future."
  • Ability to mark updates as critical.
  • Progress and status notifications for the host app.
  • Name of finish_installation.app can be configured to match your app's name.
  • Upgraded and more reliable binary delta and code signing verification.

Features

  • True self-updating—the user can choose to automatically download and install all updates.
  • Displays a detailed progress window to the user.
  • Supports authentication for installing in secure locations.
  • Supports Apple Code Signing and DSA signatures for ultra-secure updates.
  • Easy to install. Sparkle requires no code in your app, so it's trivial to upgrade or remove the framework.
  • Uses appcasts for release information. Appcasts are supported by 3rd party update-tracking programs and websites.
  • Displays release notes to the user via WebKit.
  • Sparkle doesn't bug the user until second launch for better first impressions.
  • Seamless integration—there's no mention of Sparkle; your icons and app name are used.
  • Deep delegate support to make Sparkle work exactly as you need.
  • Optionally sends system information to the server when checking for updates.
  • Supports bundles, preference panes, plugins, and other non-.app software. Can install .pkg files for more complicated products.
  • Supports branches due to minimum OS version requirements.

Requirements

  • Runtime: macOS 10.7 or greater
  • Build: Xcode 5 and 10.8 SDK or greater
  • HTTPS server for serving updates (see App Transport Security)

API

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

Building the distribution package

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.

Project Sponsor

MaxCDN

About

A software update framework for macOS

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Objective-C 70.7%
  • Swift 24.2%
  • Shell 2.7%
  • Makefile 1.1%
  • Other 1.3%