Skip to content

An actively maintained (as of 2014) fork of the Sparkle software updater

License

Notifications You must be signed in to change notification settings

mstarke/Sparkle

 
 

Repository files navigation

Sparkle Build Status

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

Screenshot

Changes since 1.5b

  • Up-to-date with 10.10 SDK and Xcode 6. Supports OS X 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.

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.

Developers

Building Sparkle requires Xcode 5 or above.

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.

About

An actively maintained (as of 2014) fork of the Sparkle software updater

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 58.0%
  • Objective-C 31.7%
  • Shell 7.9%
  • Ruby 2.4%