|
37 | 37 | <section>
|
38 | 38 | <section class="section">
|
39 | 39 |
|
40 |
| - <h1 id='sparkle-2-img-src-https-github-com-sparkle-project-sparkle-workflows-build-20-26-20tests-badge-svg-branch-2-x-alt-build-status-img-src-https-img-shields-io-badge-swiftpm-compatible-4bc51d-svg-style-flat-alt-swiftpm-a-href-https-github-com-carthage-carthage-img-src-https-img-shields-io-badge-carthage-compatible-4bc51d-svg-style-flat-alt-carthage-compatible-a-a-href-https-cocoapods-org-pods-sparkle-img-src-https-img-shields-io-cocoapods-v-sparkle-svg-cacheseconds-86400-alt-cocoapods-a' class='heading'>Sparkle 2 <img src="https://github.com/sparkle-project/Sparkle/workflows/Build%20%26%20Tests/badge.svg?branch=2.x" alt="Build Status"> <img src="https://img.shields.io/badge/SwiftPM-compatible-4BC51D.svg?style=flat" alt="SwiftPM"> <a href="https://github.com/Carthage/Carthage"><img src="https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat" alt="Carthage compatible"></a> <a href="https://cocoapods.org/pods/Sparkle"><img src="https://img.shields.io/cocoapods/v/Sparkle.svg?cacheSeconds=86400" alt="CocoaPods"></a></h1> |
| 40 | + <h1 id='sparkle-2-api-reference' class='heading'>Sparkle 2 API Reference</h1> |
41 | 41 |
|
42 |
| -<p>Secure and reliable software update framework for macOS.</p> |
43 |
| - |
44 |
| -<p><img src="Resources/Screenshot2.png" width="732" alt="Sparkle shows familiar update window with release notes"></p> |
45 |
| - |
46 |
| -<p>Sparkle 2 adds support for application sandboxing, custom user interfaces, updating external bundles, and a more modern architecture which includes faster and more reliable installs.</p> |
47 |
| - |
48 |
| -<p>Pre-releases when available can be found on the <a href="https://github.com/sparkle-project/Sparkle/releases">Sparkle’s Releases</a> or on your favorite package manager. More nightly builds can be downloaded by selecting a recent <a href="https://github.com/sparkle-project/Sparkle/actions?query=event%3Apush+is%3Asuccess+branch%3A2.x">workflow run</a> and downloading the corresponding Sparkle-distribution artifact.</p> |
49 |
| - |
50 |
| -<p>The current status for future versions of Sparkle is tracked by <a href="https://github.com/sparkle-project/Sparkle/milestones">its roadmap</a>.</p> |
51 |
| - |
52 |
| -<p>Please visit <a href="http://sparkle-project.org">Sparkle’s website</a> for up to date documentation on using and migrating over to Sparkle 2. Refer to <a href="CHANGELOG">Changelog</a> for a more detailed list of changes. More internal design documents to the project can be found in the repository under <a href="Documentation/">Documentation</a>.</p> |
53 |
| -<h2 id='features' class='heading'>Features</h2> |
54 |
| - |
55 |
| -<ul> |
56 |
| -<li>Seamless. There’s no mention of Sparkle; your icons and app name are used.</li> |
57 |
| -<li>Secure. Updates are verified using EdDSA signatures and Apple Code Signing. Supports Sandboxed applications in Sparkle 2.</li> |
58 |
| -<li>Fast. Supports delta updates which only patch files that have changed and atomic-safe installs.</li> |
59 |
| -<li>Easy to install. Sparkle requires no code in your app, and only needs static files on a web server.</li> |
60 |
| -<li>Customizable. Sparkle 2 supports plugging in a custom UI for updates.</li> |
61 |
| -<li>Flexible. Supports applications, package installers, preference panes, and other plug-ins. Sparkle 2 supports updating external bundles.</li> |
62 |
| -<li>Handles permissions, quarantine, and automatically asks for authentication if needed.</li> |
63 |
| -<li>Uses RSS-based appcasts for release information. Appcasts are a de-facto standard supported by 3rd party update-tracking programs and websites.</li> |
64 |
| -<li>Stays hidden until second launch for better first impressions.</li> |
65 |
| -<li>Truly self-updating — the user can choose to automatically download and install all updates in the background.</li> |
66 |
| -<li>Ability to use channels for beta updates (in Sparkle 2), add phased rollouts to users, and mark updates as critical or major.</li> |
67 |
| -<li>Progress and status notifications for the host app.</li> |
68 |
| -</ul> |
69 |
| -<h2 id='requirements' class='heading'>Requirements</h2> |
| 42 | +<p>These are the primary classes and protocols in Sparkle 2 you may be interested in:</p> |
70 | 43 |
|
71 | 44 | <ul>
|
72 |
| -<li>Runtime: macOS 10.13 or later.</li> |
73 |
| -<li>Build: Latest major Xcode (stable or beta, whichever is latest) and one major version less.</li> |
74 |
| -<li>HTTPS server for serving updates (see <a href="http://sparkle-project.org/documentation/app-transport-security/">App Transport Security</a>)</li> |
| 45 | +<li><code><a href="Classes/SPUStandardUpdaterController.html">SPUStandardUpdaterController</a></code> for creating a standard updater (encapsulates a <code><a href="Classes/SPUUpdater.html">SPUUpdater</a></code> and <code><a href="Classes/SPUStandardUserDriver.html">SPUStandardUserDriver</a></code>)</li> |
| 46 | +<li><code><a href="Classes/SPUUpdater.html">SPUUpdater</a></code> for invoking update checks and retrieving updater properties.</li> |
| 47 | +<li><code><a href="Protocols/SPUUpdaterDelegate.html">SPUUpdaterDelegate</a></code> for delegation methods to control the behavior of <code><a href="Classes/SPUUpdater.html">SPUUpdater</a></code>.</li> |
| 48 | +<li><code><a href="Protocols/SPUUserDriver.html">SPUUserDriver</a></code> for making custom user interfaces.</li> |
75 | 49 | </ul>
|
76 |
| -<h2 id='usage' class='heading'>Usage</h2> |
77 |
| - |
78 |
| -<p>See <a href="https://sparkle-project.org/documentation/">getting started guide</a>. No code is necessary, but a bit of configuration is required.</p> |
79 |
| -<h3 id='troubleshooting' class='heading'>Troubleshooting</h3> |
80 |
| - |
81 |
| -<ul> |
82 |
| -<li><p>Please check <strong>Console.app</strong> for logs under your application. 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.</p></li> |
83 |
| -<li><p>Use the <code>generate_appcast</code> tool which creates appcast files, correct signatures, and delta updates automatically.</p></li> |
84 |
| -<li><p>Make sure the URL specified in <a href="https://sparkle-project.org/documentation/customization/"><code>SUFeedURL</code></a> is valid (typos/404s are a common error!), and that it uses modern TLS (<a href="https://www.ssllabs.com/ssltest/">test it</a>).</p></li> |
85 |
| -</ul> |
86 |
| -<h3 id='api-symbols' class='heading'>API symbols</h3> |
87 |
| - |
88 |
| -<p>Sparkle is built with <code>-fvisibility=hidden -fvisibility-inlines-hidden</code> which means no symbols are exported by default. |
89 |
| -If you are adding a symbol to the public API you must decorate the declaration with the <code>SU_EXPORT</code> macro (grep the source code for examples).</p> |
90 |
| -<h3 id='building-the-distribution-package' class='heading'>Building the distribution package</h3> |
91 |
| - |
92 |
| -<p>You do not usually need to build a Sparkle distribution unless you’re making changes to Sparkle itself.</p> |
93 |
| - |
94 |
| -<p>To build a Sparkle distribution, <code>cd</code> to the root of the Sparkle source tree and run <code>make release</code>. Sparkle-<em>VERSION</em>.tar.xz will be created and revealed in Finder after the build has completed.</p> |
95 | 50 |
|
96 |
| -<p>Alternatively, build the Distribution scheme in the Xcode UI.</p> |
97 |
| -<h3 id='code-of-conduct' class='heading'>Code of Conduct</h3> |
| 51 | +<p>If you are migrating from Sparkle 1, please refer to <code><a href="Classes/SPUStandardUpdaterController.html">SPUStandardUpdaterController</a></code> and <code><a href="Classes/SPUUpdater.html">SPUUpdater</a></code>.</p> |
98 | 52 |
|
99 |
| -<p>We pledge to have an open and welcoming environment. See our <a href="CODE_OF_CONDUCT.md">Code of Conduct</a>.</p> |
| 53 | +<p>Please also visit the <a href="https://sparkle-project.org/documentation/">Basic Setup</a> guide which shows how to instantiate an updater in a nib or how to create one programmatically.</p> |
100 | 54 |
|
101 | 55 | </section>
|
102 | 56 | </section>
|
|
0 commit comments