2014-08-01 10:53:07 +00:00
# Sparkle <img src="Resources/Sparkle.png" width=48 height=48 alt=""/>
2013-10-22 02:17:51 +00:00
is an easy-to-use software update framework for Cocoa developers.
2014-08-01 10:53:07 +00:00
[![Build Status ](https://travis-ci.org/sparkle-project/Sparkle.svg?branch=master )](https://travis-ci.org/sparkle-project/Sparkle)
2013-10-22 02:17:51 +00:00
2014-08-01 10:53:07 +00:00
## Changes since 1.5b
2013-10-22 02:17:51 +00:00
2014-08-01 10:53:07 +00:00
* 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.
2013-10-22 02:17:51 +00:00
2014-08-01 10:53:07 +00:00
## Features
2013-10-22 02:17:51 +00:00
2014-08-01 10:53:07 +00:00
* 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.
2013-10-22 02:17:51 +00:00
* Sparkle doesn't bug the user until second launch for better first impressions.
2014-08-01 10:53:07 +00:00
* Seamless integration—there's no mention of Sparkle; your icons and app name are used.
2013-10-22 02:17:51 +00:00
* Deep delegate support to make Sparkle work exactly as you need.
2014-08-01 10:53:07 +00:00
* 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.
2014-09-03 16:47:40 +00:00
## 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.