Update API documentation

This commit is contained in:
Sparkle-Bot
2025-09-16 05:19:13 +00:00
parent a7f3ddf574
commit 5b7a2e7a25
61 changed files with 431 additions and 324 deletions
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -356,7 +356,7 @@
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -69,6 +69,8 @@ It also allows hooking up the updater&rsquo;s and user driver&rsquo;s delegates.
<p>If you need more control over what bundle you want to update, or you want to provide a custom user interface (via <code><a href="../Protocols/SPUUserDriver.html">SPUUserDriver</a></code>), please use <code><a href="../Classes/SPUUpdater.html">SPUUpdater</a></code> directly instead.</p>
<p>This class must be used on the main thread.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
@@ -558,7 +560,7 @@ this controller also handles enabling/disabling the menu item by checking
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -322,7 +322,7 @@
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -310,7 +310,7 @@
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -73,6 +73,8 @@
<p>Please view the documentation on each of these properties for more detail if you are to configure them dynamically.</p>
<p>This class must be used on the main thread.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
@@ -294,11 +296,13 @@ For example, the standard updater controller (<code><a href="../Classes/SPUStand
<p>If an update hasn&rsquo;t started, the user may be shown that a new check for updates is occurring.
If an update has already been downloaded or begun installing from a previous session, the user may be presented to install that update.
If the user is already being presented with an update, that update will be shown to the user in active focus.</p>
If the user is already being presented with an update or update permission prompt, that notice may be shown to the user in active focus
(as long as the user driver is the standard <code><a href="../Classes/SPUStandardUserDriver.html">SPUStandardUserDriver</a></code> or if it implements <code><a href="../Protocols/SPUUserDriver.html#/c:objc(pl)SPUUserDriver(im)showUpdateInFocus">-[SPUUserDriver showUpdateInFocus]</a></code>).</p>
<p>This will find updates that the user has previously opted into skipping.</p>
<p>This will find updates that the user has previously opted into skipping.
See <code><a href="../Classes/SPUUpdater.html#/c:objc(cs)SPUUpdater(py)canCheckForUpdates">canCheckForUpdates</a></code> property which can determine when this method may be invoked.</p>
<p>See <code><a href="../Classes/SPUUpdater.html#/c:objc(cs)SPUUpdater(py)canCheckForUpdates">canCheckForUpdates</a></code> property which can determine when this method may be invoked.</p>
<p>This must be called on the main thread.</p>
</div>
<div class="declaration">
@@ -352,6 +356,8 @@ or an already downloaded update may be shown.</p>
<p>This method does not do anything if there is a <code><a href="../Classes/SPUUpdater.html#/c:objc(cs)SPUUpdater(py)sessionInProgress">sessionInProgress</a></code>.</p>
<p>This must be called on the main thread.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
@@ -397,6 +403,8 @@ this probing check is completed.</p>
<p>This method does not do anything if there is a <code><a href="../Classes/SPUUpdater.html#/c:objc(cs)SPUUpdater(py)sessionInProgress">sessionInProgress</a></code>.</p>
<p>This must be called on the main thread.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
@@ -429,8 +437,11 @@ this probing check is completed.</p>
<div class="abstract">
<p>A property indicating whether or not updates can be checked by the user.</p>
<p>An update check can be made by the user when an update session isn&rsquo;t in progress, or when an update or its progress is being shown to the user.
A user cannot check for updates when data (such as the feed or an update) is still being downloaded automatically in the background.</p>
<p>An update check can be made by the user when an update session isn&rsquo;t in progress.
An update check can also be made when an update or its progress is being shown to the user
(as long as the user driver is the standard <code><a href="../Classes/SPUStandardUserDriver.html">SPUStandardUserDriver</a></code> or if it implements <code><a href="../Protocols/SPUUserDriver.html#/c:objc(pl)SPUUserDriver(im)showUpdateInFocus">-[SPUUserDriver showUpdateInFocus]</a></code>).</p>
<p>A user cannot check for updates when data (such as the feed or an update) is still being downloaded automatically in the background.</p>
<p>This property is suitable to use for menu item validation for seeing if <code><a href="../Classes/SPUUpdater.html#/c:objc(cs)SPUUpdater(im)checkForUpdates">-checkForUpdates</a></code> can be invoked.</p>
@@ -530,7 +541,9 @@ For testing environments, you can disable update checks by passing <code>-SUEnab
to your app&rsquo;s command line arguments instead of setting this property.</p>
<p>The update schedule cycle will be reset in a short delay after the property&rsquo;s new value is set.
This is to allow reverting this property without kicking off a schedule change immediately</p>
This is to allow reverting this property without kicking off a schedule change immediately.</p>
<p>This property is KVO compliant. This property must be called on the main thread.</p>
</div>
<div class="declaration">
@@ -572,7 +585,9 @@ Only set this property if the user wants to change the default via a user settin
Do not always set it on launch unless you want to ignore the user&rsquo;s preference.</p>
<p>The update schedule cycle will be reset in a short delay after the property&rsquo;s new value is set.
This is to allow reverting this property without kicking off a schedule change immediately</p>
This is to allow reverting this property without kicking off a schedule change immediately.</p>
<p>This property is KVO compliant. This property must be called on the main thread.</p>
</div>
<div class="declaration">
@@ -622,6 +637,8 @@ Hence developers shouldn&rsquo;t maintain an additional user default for this pr
Only set this property if the user wants to change the default via a user settings option.
Do not always set it on launch unless you want to ignore the user&rsquo;s preference.</p>
<p>This property is KVO compliant. This property must be called on the main thread.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
@@ -856,6 +873,8 @@ if you manually manage starting the updater.</p>
<p>Setting this property will persist in the host bundle&rsquo;s user defaults.</p>
<p>This property is KVO compliant. This property must be called on the main thread.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
@@ -892,6 +911,8 @@ if you manually manage starting the updater.</p>
For example, <code>defaults delete my-bundle-id SULastCheckTime</code> can be invoked to clear the last update check time and test
if update checks are automatically scheduled.</p>
<p>This property must be called on the main thread.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
@@ -930,6 +951,8 @@ if update checks are automatically scheduled.</p>
<p>See also <code><a href="../Classes/SPUUpdater.html#/c:objc(cs)SPUUpdater(im)resetUpdateCycleAfterShortDelay">-resetUpdateCycleAfterShortDelay</a></code> which gives the user a short delay before triggering a cycle reset.</p>
<p>This must be called on the main thread.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
@@ -970,6 +993,8 @@ no cycle reset will be done.</p>
<p>If the <code><a href="../Classes/SPUUpdater.html#/c:objc(cs)SPUUpdater(py)updateCheckInterval">updateCheckInterval</a></code> or <code><a href="../Classes/SPUUpdater.html#/c:objc(cs)SPUUpdater(py)automaticallyChecksForUpdates">automaticallyChecksForUpdates</a></code> properties are changed, this method is automatically invoked. In these cases, manually resetting the update cycle is not necessary.</p>
<p>This must be called on the main thread.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
@@ -1185,7 +1210,7 @@ no cycle reset will be done.</p>
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -54,11 +54,13 @@
</div>
</div>
<p>This class can be used for reading certain updater settings.</p>
<p>This class can be used for reading and updating updater settings.</p>
<p>It retrieves the settings by first looking into the host&rsquo;s user defaults.
If the setting is not found in there, then the host&rsquo;s Info.plist file is looked at.</p>
<p>For updating updater settings, changes are made in the host&rsquo;s user defaults.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
@@ -110,17 +112,19 @@ If the setting is not found in there, then the host&rsquo;s Info.plist file is l
<div class="abstract">
<p>Indicates whether or not automatic update checks are enabled.</p>
<p>This property is KVO compliant. This property must be called on the main thread.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">,</span> <span class="n">readonly</span><span class="p">)</span> <span class="n">BOOL</span> <span class="n">automaticallyChecksForUpdates</span><span class="p">;</span></code></pre>
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">)</span> <span class="n">BOOL</span> <span class="n">automaticallyChecksForUpdates</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">automaticallyChecksForUpdates</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">automaticallyChecksForUpdates</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
@@ -142,17 +146,19 @@ If the setting is not found in there, then the host&rsquo;s Info.plist file is l
<div class="abstract">
<p>The regular update check interval.</p>
<p>This property is KVO compliant. This property must be called on the main thread.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">,</span> <span class="n">readonly</span><span class="p">)</span> <span class="n">NSTimeInterval</span> <span class="n">updateCheckInterval</span><span class="p">;</span></code></pre>
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">)</span> <span class="n">NSTimeInterval</span> <span class="n">updateCheckInterval</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">updateCheckInterval</span><span class="p">:</span> <span class="kt">TimeInterval</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">updateCheckInterval</span><span class="p">:</span> <span class="kt">TimeInterval</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
@@ -242,17 +248,19 @@ If this value is nil, the developer has not explicitly specified this option.</p
<p>Note this does not indicate whether or not automatic downloading of updates is allowable.
See <code>-allowsAutomaticUpdates</code> property for that.</p>
<p>This property is KVO compliant. This property must be called on the main thread.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">,</span> <span class="n">readonly</span><span class="p">)</span> <span class="n">BOOL</span> <span class="n">automaticallyDownloadsUpdates</span><span class="p">;</span></code></pre>
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">)</span> <span class="n">BOOL</span> <span class="n">automaticallyDownloadsUpdates</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">automaticallyDownloadsUpdates</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">automaticallyDownloadsUpdates</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
@@ -274,17 +282,19 @@ If this value is nil, the developer has not explicitly specified this option.</p
<div class="abstract">
<p>Indicates whether or not anonymous system profile information is sent when checking for updates.</p>
<p>This property is KVO compliant. This property must be called on the main thread.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">,</span> <span class="n">readonly</span><span class="p">)</span> <span class="n">BOOL</span> <span class="n">sendsSystemProfile</span><span class="p">;</span></code></pre>
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">)</span> <span class="n">BOOL</span> <span class="n">sendsSystemProfile</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">sendsSystemProfile</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">sendsSystemProfile</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
@@ -457,7 +467,7 @@ If this value is nil, the developer has not explicitly specified this option.</p
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -323,7 +323,7 @@
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -291,7 +291,7 @@
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -770,8 +770,7 @@ Old applications must be using Sparkle 2 or later to interpret the channel eleme
<ul>
<li><code>application</code> - indicates this is a regular application update.</li>
<li><code>package</code> - indicates this is a guided package installer update.</li>
<li><code>interactive-package</code> - indicates this is an interactive package installer update (deprecated; use &ldquo;package&rdquo; instead)</li>
<li><code>package</code> - indicates this is a package installer update.</li>
</ul>
<p>This is extracted from the <code>sparkle:installationType</code> attribute in the <code>&lt;enclosure&gt;</code> element.</p>
@@ -1602,7 +1601,7 @@ The locales extracted from this attribute are delimited by a comma (e.g. &ldquo;
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -366,7 +366,7 @@ These versions that are compared correspond to the <code>CFBundleVersion</code>
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -503,7 +503,7 @@ otherwise set it to <code>nil</code>.</p>
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -1008,7 +1008,7 @@
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
+2 -2
View File
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="index.html">Sparkle 2.7.1 Docs</a>
<a href="index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -884,7 +884,7 @@
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
+3 -3
View File
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="index.html">Sparkle 2.7.1 Docs</a>
<a href="index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -204,7 +204,7 @@
<span class="n">SUInstallationAuthorizeLaterError</span> <span class="o">=</span> <span class="mi">4008</span><span class="p">,</span>
<span class="n">SUNotValidUpdateError</span> <span class="o">=</span> <span class="mi">4009</span><span class="p">,</span>
<span class="n">SUAgentInvalidationError</span> <span class="o">=</span> <span class="mi">4010</span><span class="p">,</span>
<span class="n">SUInstallationRootInteractiveError</span> <span class="o">=</span> <span class="mi">4011</span><span class="p">,</span>
<span class="c1">//SUInstallationRootInteractiveError = 4011,</span>
<span class="n">SUInstallationWriteNoPermissionError</span> <span class="o">=</span> <span class="mi">4012</span><span class="p">,</span>
<span class="c1">// API misuse errors.</span>
@@ -420,7 +420,7 @@
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -386,7 +386,7 @@
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -304,7 +304,7 @@
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -322,7 +322,7 @@
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -322,7 +322,7 @@
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
+3 -35
View File
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -86,7 +86,7 @@
<span class="n">SUInstallationAuthorizeLaterError</span> <span class="o">=</span> <span class="mi">4008</span><span class="p">,</span>
<span class="n">SUNotValidUpdateError</span> <span class="o">=</span> <span class="mi">4009</span><span class="p">,</span>
<span class="n">SUAgentInvalidationError</span> <span class="o">=</span> <span class="mi">4010</span><span class="p">,</span>
<span class="n">SUInstallationRootInteractiveError</span> <span class="o">=</span> <span class="mi">4011</span><span class="p">,</span>
<span class="c1">//SUInstallationRootInteractiveError = 4011,</span>
<span class="n">SUInstallationWriteNoPermissionError</span> <span class="o">=</span> <span class="mi">4012</span><span class="p">,</span>
<span class="c1">// API misuse errors.</span>
@@ -1098,38 +1098,6 @@
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@E@SUError@SUInstallationRootInteractiveError"></a>
<a name="//apple_ref/objc/Case/SUInstallationRootInteractiveError" class="dashAnchor"></a>
<a class="token" href="#/c:@E@SUError@SUInstallationRootInteractiveError">SUInstallationRootInteractiveError</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Undocumented</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="n">SUInstallationRootInteractiveError</span> <span class="o">=</span> <span class="mi">4011</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">case</span> <span class="n">installationRootInteractiveError</span> <span class="o">=</span> <span class="mi">4011</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
@@ -1360,7 +1328,7 @@
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
+2 -2
View File
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="index.html">Sparkle 2.7.1 Docs</a>
<a href="index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -422,7 +422,7 @@ an object that implements this protocol what actions to take and show to the use
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -819,7 +819,7 @@ please see <code><a href="../Protocols/SPUStandardUserDriverDelegate.html#/c:obj
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -2464,7 +2464,7 @@ even if you provide a custom comparator here.</p>
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -1026,41 +1026,6 @@ Note this handler should not be invoked if <code>applicationTerminated</code> is
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(pl)SPUUserDriver(im)showUpdateInFocus"></a>
<a name="//apple_ref/objc/Method/-showUpdateInFocus" class="dashAnchor"></a>
<a class="token" href="#/c:objc(pl)SPUUserDriver(im)showUpdateInFocus">-showUpdateInFocus</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Show the user the current presented update or its progress in utmost focus</p>
<p>The user wishes to check for updates while the user is being shown update progress.
Bring whatever is on screen to frontmost focus (permission request, update information, downloading or extraction status, choice to install update, etc).</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="n">showUpdateInFocus</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">showUpdateInFocus</span><span class="p">()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
@@ -1097,6 +1062,42 @@ Note this handler should not be invoked if <code>applicationTerminated</code> is
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(pl)SPUUserDriver(im)showUpdateInFocus"></a>
<a name="//apple_ref/objc/Method/-showUpdateInFocus" class="dashAnchor"></a>
<a class="token" href="#/c:objc(pl)SPUUserDriver(im)showUpdateInFocus">-showUpdateInFocus</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Show the user the current presented update or its progress in utmost focus</p>
<p>The user wishes to check for updates while the user is being shown update progress.
Bring whatever is on screen to frontmost focus (permission request, update information, downloading or extraction status, choice to install update, etc).
Implementing this method is optional.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="n">showUpdateInFocus</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">optional</span> <span class="kd">func</span> <span class="nf">showUpdateInFocus</span><span class="p">()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
@@ -1485,7 +1486,7 @@ Note this handler should not be invoked if <code>applicationTerminated</code> is
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -1447,7 +1447,7 @@
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -262,7 +262,7 @@ and NSOrderedSame if they are equivalent.</p>
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -448,7 +448,7 @@ can be displayed while also leaving out unnecessary/confusing parts.</p>
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
+9 -3
View File
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="index.html">Sparkle 2.7.1 Docs</a>
<a href="index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -104,6 +104,8 @@ It also allows hooking up the updater&rsquo;s and user driver&rsquo;s delegates.
<p>If you need more control over what bundle you want to update, or you want to provide a custom user interface (via <code><a href="Protocols/SPUUserDriver.html">SPUUserDriver</a></code>), please use <code><a href="Classes/SPUUpdater.html">SPUUpdater</a></code> directly instead.</p>
<p>This class must be used on the main thread.</p>
<a href="Classes/SPUStandardUpdaterController.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
@@ -223,6 +225,8 @@ It also allows hooking up the updater&rsquo;s and user driver&rsquo;s delegates.
<p>Please view the documentation on each of these properties for more detail if you are to configure them dynamically.</p>
<p>This class must be used on the main thread.</p>
<a href="Classes/SPUUpdater.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
@@ -254,11 +258,13 @@ It also allows hooking up the updater&rsquo;s and user driver&rsquo;s delegates.
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>This class can be used for reading certain updater settings.</p>
<p>This class can be used for reading and updating updater settings.</p>
<p>It retrieves the settings by first looking into the host&rsquo;s user defaults.
If the setting is not found in there, then the host&rsquo;s Info.plist file is looked at.</p>
<p>For updating updater settings, changes are made in the host&rsquo;s user defaults.</p>
<a href="Classes/SPUUpdaterSettings.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
@@ -663,7 +669,7 @@ in components split by character type.</p>
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -356,7 +356,7 @@
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -69,6 +69,8 @@ It also allows hooking up the updater&rsquo;s and user driver&rsquo;s delegates.
<p>If you need more control over what bundle you want to update, or you want to provide a custom user interface (via <code><a href="../Protocols/SPUUserDriver.html">SPUUserDriver</a></code>), please use <code><a href="../Classes/SPUUpdater.html">SPUUpdater</a></code> directly instead.</p>
<p>This class must be used on the main thread.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
@@ -558,7 +560,7 @@ this controller also handles enabling/disabling the menu item by checking
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -322,7 +322,7 @@
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -310,7 +310,7 @@
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -73,6 +73,8 @@
<p>Please view the documentation on each of these properties for more detail if you are to configure them dynamically.</p>
<p>This class must be used on the main thread.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
@@ -294,11 +296,13 @@ For example, the standard updater controller (<code><a href="../Classes/SPUStand
<p>If an update hasn&rsquo;t started, the user may be shown that a new check for updates is occurring.
If an update has already been downloaded or begun installing from a previous session, the user may be presented to install that update.
If the user is already being presented with an update, that update will be shown to the user in active focus.</p>
If the user is already being presented with an update or update permission prompt, that notice may be shown to the user in active focus
(as long as the user driver is the standard <code><a href="../Classes/SPUStandardUserDriver.html">SPUStandardUserDriver</a></code> or if it implements <code><a href="../Protocols/SPUUserDriver.html#/c:objc(pl)SPUUserDriver(im)showUpdateInFocus">-[SPUUserDriver showUpdateInFocus]</a></code>).</p>
<p>This will find updates that the user has previously opted into skipping.</p>
<p>This will find updates that the user has previously opted into skipping.
See <code><a href="../Classes/SPUUpdater.html#/c:objc(cs)SPUUpdater(py)canCheckForUpdates">canCheckForUpdates</a></code> property which can determine when this method may be invoked.</p>
<p>See <code><a href="../Classes/SPUUpdater.html#/c:objc(cs)SPUUpdater(py)canCheckForUpdates">canCheckForUpdates</a></code> property which can determine when this method may be invoked.</p>
<p>This must be called on the main thread.</p>
</div>
<div class="declaration">
@@ -352,6 +356,8 @@ or an already downloaded update may be shown.</p>
<p>This method does not do anything if there is a <code><a href="../Classes/SPUUpdater.html#/c:objc(cs)SPUUpdater(py)sessionInProgress">sessionInProgress</a></code>.</p>
<p>This must be called on the main thread.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
@@ -397,6 +403,8 @@ this probing check is completed.</p>
<p>This method does not do anything if there is a <code><a href="../Classes/SPUUpdater.html#/c:objc(cs)SPUUpdater(py)sessionInProgress">sessionInProgress</a></code>.</p>
<p>This must be called on the main thread.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
@@ -429,8 +437,11 @@ this probing check is completed.</p>
<div class="abstract">
<p>A property indicating whether or not updates can be checked by the user.</p>
<p>An update check can be made by the user when an update session isn&rsquo;t in progress, or when an update or its progress is being shown to the user.
A user cannot check for updates when data (such as the feed or an update) is still being downloaded automatically in the background.</p>
<p>An update check can be made by the user when an update session isn&rsquo;t in progress.
An update check can also be made when an update or its progress is being shown to the user
(as long as the user driver is the standard <code><a href="../Classes/SPUStandardUserDriver.html">SPUStandardUserDriver</a></code> or if it implements <code><a href="../Protocols/SPUUserDriver.html#/c:objc(pl)SPUUserDriver(im)showUpdateInFocus">-[SPUUserDriver showUpdateInFocus]</a></code>).</p>
<p>A user cannot check for updates when data (such as the feed or an update) is still being downloaded automatically in the background.</p>
<p>This property is suitable to use for menu item validation for seeing if <code><a href="../Classes/SPUUpdater.html#/c:objc(cs)SPUUpdater(im)checkForUpdates">-checkForUpdates</a></code> can be invoked.</p>
@@ -530,7 +541,9 @@ For testing environments, you can disable update checks by passing <code>-SUEnab
to your app&rsquo;s command line arguments instead of setting this property.</p>
<p>The update schedule cycle will be reset in a short delay after the property&rsquo;s new value is set.
This is to allow reverting this property without kicking off a schedule change immediately</p>
This is to allow reverting this property without kicking off a schedule change immediately.</p>
<p>This property is KVO compliant. This property must be called on the main thread.</p>
</div>
<div class="declaration">
@@ -572,7 +585,9 @@ Only set this property if the user wants to change the default via a user settin
Do not always set it on launch unless you want to ignore the user&rsquo;s preference.</p>
<p>The update schedule cycle will be reset in a short delay after the property&rsquo;s new value is set.
This is to allow reverting this property without kicking off a schedule change immediately</p>
This is to allow reverting this property without kicking off a schedule change immediately.</p>
<p>This property is KVO compliant. This property must be called on the main thread.</p>
</div>
<div class="declaration">
@@ -622,6 +637,8 @@ Hence developers shouldn&rsquo;t maintain an additional user default for this pr
Only set this property if the user wants to change the default via a user settings option.
Do not always set it on launch unless you want to ignore the user&rsquo;s preference.</p>
<p>This property is KVO compliant. This property must be called on the main thread.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
@@ -856,6 +873,8 @@ if you manually manage starting the updater.</p>
<p>Setting this property will persist in the host bundle&rsquo;s user defaults.</p>
<p>This property is KVO compliant. This property must be called on the main thread.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
@@ -892,6 +911,8 @@ if you manually manage starting the updater.</p>
For example, <code>defaults delete my-bundle-id SULastCheckTime</code> can be invoked to clear the last update check time and test
if update checks are automatically scheduled.</p>
<p>This property must be called on the main thread.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
@@ -930,6 +951,8 @@ if update checks are automatically scheduled.</p>
<p>See also <code><a href="../Classes/SPUUpdater.html#/c:objc(cs)SPUUpdater(im)resetUpdateCycleAfterShortDelay">-resetUpdateCycleAfterShortDelay</a></code> which gives the user a short delay before triggering a cycle reset.</p>
<p>This must be called on the main thread.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
@@ -970,6 +993,8 @@ no cycle reset will be done.</p>
<p>If the <code><a href="../Classes/SPUUpdater.html#/c:objc(cs)SPUUpdater(py)updateCheckInterval">updateCheckInterval</a></code> or <code><a href="../Classes/SPUUpdater.html#/c:objc(cs)SPUUpdater(py)automaticallyChecksForUpdates">automaticallyChecksForUpdates</a></code> properties are changed, this method is automatically invoked. In these cases, manually resetting the update cycle is not necessary.</p>
<p>This must be called on the main thread.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
@@ -1185,7 +1210,7 @@ no cycle reset will be done.</p>
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -54,11 +54,13 @@
</div>
</div>
<p>This class can be used for reading certain updater settings.</p>
<p>This class can be used for reading and updating updater settings.</p>
<p>It retrieves the settings by first looking into the host&rsquo;s user defaults.
If the setting is not found in there, then the host&rsquo;s Info.plist file is looked at.</p>
<p>For updating updater settings, changes are made in the host&rsquo;s user defaults.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
@@ -110,17 +112,19 @@ If the setting is not found in there, then the host&rsquo;s Info.plist file is l
<div class="abstract">
<p>Indicates whether or not automatic update checks are enabled.</p>
<p>This property is KVO compliant. This property must be called on the main thread.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">,</span> <span class="n">readonly</span><span class="p">)</span> <span class="n">BOOL</span> <span class="n">automaticallyChecksForUpdates</span><span class="p">;</span></code></pre>
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">)</span> <span class="n">BOOL</span> <span class="n">automaticallyChecksForUpdates</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">automaticallyChecksForUpdates</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">automaticallyChecksForUpdates</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
@@ -142,17 +146,19 @@ If the setting is not found in there, then the host&rsquo;s Info.plist file is l
<div class="abstract">
<p>The regular update check interval.</p>
<p>This property is KVO compliant. This property must be called on the main thread.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">,</span> <span class="n">readonly</span><span class="p">)</span> <span class="n">NSTimeInterval</span> <span class="n">updateCheckInterval</span><span class="p">;</span></code></pre>
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">)</span> <span class="n">NSTimeInterval</span> <span class="n">updateCheckInterval</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">updateCheckInterval</span><span class="p">:</span> <span class="kt">TimeInterval</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">updateCheckInterval</span><span class="p">:</span> <span class="kt">TimeInterval</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
@@ -242,17 +248,19 @@ If this value is nil, the developer has not explicitly specified this option.</p
<p>Note this does not indicate whether or not automatic downloading of updates is allowable.
See <code>-allowsAutomaticUpdates</code> property for that.</p>
<p>This property is KVO compliant. This property must be called on the main thread.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">,</span> <span class="n">readonly</span><span class="p">)</span> <span class="n">BOOL</span> <span class="n">automaticallyDownloadsUpdates</span><span class="p">;</span></code></pre>
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">)</span> <span class="n">BOOL</span> <span class="n">automaticallyDownloadsUpdates</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">automaticallyDownloadsUpdates</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">automaticallyDownloadsUpdates</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
@@ -274,17 +282,19 @@ If this value is nil, the developer has not explicitly specified this option.</p
<div class="abstract">
<p>Indicates whether or not anonymous system profile information is sent when checking for updates.</p>
<p>This property is KVO compliant. This property must be called on the main thread.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">,</span> <span class="n">readonly</span><span class="p">)</span> <span class="n">BOOL</span> <span class="n">sendsSystemProfile</span><span class="p">;</span></code></pre>
<pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">)</span> <span class="n">BOOL</span> <span class="n">sendsSystemProfile</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">sendsSystemProfile</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
<pre class="highlight swift"><code><span class="k">var</span> <span class="nv">sendsSystemProfile</span><span class="p">:</span> <span class="kt">Bool</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
</div>
</div>
@@ -457,7 +467,7 @@ If this value is nil, the developer has not explicitly specified this option.</p
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -323,7 +323,7 @@
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -291,7 +291,7 @@
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -770,8 +770,7 @@ Old applications must be using Sparkle 2 or later to interpret the channel eleme
<ul>
<li><code>application</code> - indicates this is a regular application update.</li>
<li><code>package</code> - indicates this is a guided package installer update.</li>
<li><code>interactive-package</code> - indicates this is an interactive package installer update (deprecated; use &ldquo;package&rdquo; instead)</li>
<li><code>package</code> - indicates this is a package installer update.</li>
</ul>
<p>This is extracted from the <code>sparkle:installationType</code> attribute in the <code>&lt;enclosure&gt;</code> element.</p>
@@ -1602,7 +1601,7 @@ The locales extracted from this attribute are delimited by a comma (e.g. &ldquo;
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -366,7 +366,7 @@ These versions that are compared correspond to the <code>CFBundleVersion</code>
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -503,7 +503,7 @@ otherwise set it to <code>nil</code>.</p>
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -1008,7 +1008,7 @@
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="index.html">Sparkle 2.7.1 Docs</a>
<a href="index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -884,7 +884,7 @@
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="index.html">Sparkle 2.7.1 Docs</a>
<a href="index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -204,7 +204,7 @@
<span class="n">SUInstallationAuthorizeLaterError</span> <span class="o">=</span> <span class="mi">4008</span><span class="p">,</span>
<span class="n">SUNotValidUpdateError</span> <span class="o">=</span> <span class="mi">4009</span><span class="p">,</span>
<span class="n">SUAgentInvalidationError</span> <span class="o">=</span> <span class="mi">4010</span><span class="p">,</span>
<span class="n">SUInstallationRootInteractiveError</span> <span class="o">=</span> <span class="mi">4011</span><span class="p">,</span>
<span class="c1">//SUInstallationRootInteractiveError = 4011,</span>
<span class="n">SUInstallationWriteNoPermissionError</span> <span class="o">=</span> <span class="mi">4012</span><span class="p">,</span>
<span class="c1">// API misuse errors.</span>
@@ -420,7 +420,7 @@
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -386,7 +386,7 @@
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -304,7 +304,7 @@
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -322,7 +322,7 @@
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -322,7 +322,7 @@
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -86,7 +86,7 @@
<span class="n">SUInstallationAuthorizeLaterError</span> <span class="o">=</span> <span class="mi">4008</span><span class="p">,</span>
<span class="n">SUNotValidUpdateError</span> <span class="o">=</span> <span class="mi">4009</span><span class="p">,</span>
<span class="n">SUAgentInvalidationError</span> <span class="o">=</span> <span class="mi">4010</span><span class="p">,</span>
<span class="n">SUInstallationRootInteractiveError</span> <span class="o">=</span> <span class="mi">4011</span><span class="p">,</span>
<span class="c1">//SUInstallationRootInteractiveError = 4011,</span>
<span class="n">SUInstallationWriteNoPermissionError</span> <span class="o">=</span> <span class="mi">4012</span><span class="p">,</span>
<span class="c1">// API misuse errors.</span>
@@ -1098,38 +1098,6 @@
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:@E@SUError@SUInstallationRootInteractiveError"></a>
<a name="//apple_ref/objc/Case/SUInstallationRootInteractiveError" class="dashAnchor"></a>
<a class="token" href="#/c:@E@SUError@SUInstallationRootInteractiveError">SUInstallationRootInteractiveError</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Undocumented</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="n">SUInstallationRootInteractiveError</span> <span class="o">=</span> <span class="mi">4011</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="k">case</span> <span class="n">installationRootInteractiveError</span> <span class="o">=</span> <span class="mi">4011</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
@@ -1360,7 +1328,7 @@
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="index.html">Sparkle 2.7.1 Docs</a>
<a href="index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -422,7 +422,7 @@ an object that implements this protocol what actions to take and show to the use
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -819,7 +819,7 @@ please see <code><a href="../Protocols/SPUStandardUserDriverDelegate.html#/c:obj
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -2464,7 +2464,7 @@ even if you provide a custom comparator here.</p>
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -1026,41 +1026,6 @@ Note this handler should not be invoked if <code>applicationTerminated</code> is
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(pl)SPUUserDriver(im)showUpdateInFocus"></a>
<a name="//apple_ref/objc/Method/-showUpdateInFocus" class="dashAnchor"></a>
<a class="token" href="#/c:objc(pl)SPUUserDriver(im)showUpdateInFocus">-showUpdateInFocus</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Show the user the current presented update or its progress in utmost focus</p>
<p>The user wishes to check for updates while the user is being shown update progress.
Bring whatever is on screen to frontmost focus (permission request, update information, downloading or extraction status, choice to install update, etc).</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="n">showUpdateInFocus</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">showUpdateInFocus</span><span class="p">()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
@@ -1097,6 +1062,42 @@ Note this handler should not be invoked if <code>applicationTerminated</code> is
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(pl)SPUUserDriver(im)showUpdateInFocus"></a>
<a name="//apple_ref/objc/Method/-showUpdateInFocus" class="dashAnchor"></a>
<a class="token" href="#/c:objc(pl)SPUUserDriver(im)showUpdateInFocus">-showUpdateInFocus</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Show the user the current presented update or its progress in utmost focus</p>
<p>The user wishes to check for updates while the user is being shown update progress.
Bring whatever is on screen to frontmost focus (permission request, update information, downloading or extraction status, choice to install update, etc).
Implementing this method is optional.</p>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Objective-C</p>
<pre class="highlight objective_c"><code><span class="k">-</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="n">showUpdateInFocus</span><span class="p">;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">optional</span> <span class="kd">func</span> <span class="nf">showUpdateInFocus</span><span class="p">()</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
@@ -1485,7 +1486,7 @@ Note this handler should not be invoked if <code>applicationTerminated</code> is
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -1447,7 +1447,7 @@
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -262,7 +262,7 @@ and NSOrderedSame if they are equivalent.</p>
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="../index.html">Sparkle 2.7.1 Docs</a>
<a href="../index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -448,7 +448,7 @@ can be displayed while also leaving out unnecessary/confusing parts.</p>
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -16,7 +16,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="index.html">Sparkle 2.7.1 Docs</a>
<a href="index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -104,6 +104,8 @@ It also allows hooking up the updater&rsquo;s and user driver&rsquo;s delegates.
<p>If you need more control over what bundle you want to update, or you want to provide a custom user interface (via <code><a href="Protocols/SPUUserDriver.html">SPUUserDriver</a></code>), please use <code><a href="Classes/SPUUpdater.html">SPUUpdater</a></code> directly instead.</p>
<p>This class must be used on the main thread.</p>
<a href="Classes/SPUStandardUpdaterController.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
@@ -223,6 +225,8 @@ It also allows hooking up the updater&rsquo;s and user driver&rsquo;s delegates.
<p>Please view the documentation on each of these properties for more detail if you are to configure them dynamically.</p>
<p>This class must be used on the main thread.</p>
<a href="Classes/SPUUpdater.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
@@ -254,11 +258,13 @@ It also allows hooking up the updater&rsquo;s and user driver&rsquo;s delegates.
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>This class can be used for reading certain updater settings.</p>
<p>This class can be used for reading and updating updater settings.</p>
<p>It retrieves the settings by first looking into the host&rsquo;s user defaults.
If the setting is not found in there, then the host&rsquo;s Info.plist file is looked at.</p>
<p>For updating updater settings, changes are made in the host&rsquo;s user defaults.</p>
<a href="Classes/SPUUpdaterSettings.html" class="slightly-smaller">See more</a>
</div>
<div class="declaration">
@@ -663,7 +669,7 @@ in components split by character type.</p>
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
@@ -15,7 +15,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="index.html">Sparkle 2.7.1 Docs</a>
<a href="index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -37,20 +37,66 @@
<section>
<section class="section">
<h1 id='sparkle-2-api-reference' class='heading'>Sparkle 2 API Reference</h1>
<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>
<p>These are the primary classes and protocols in Sparkle 2 you may be interested in:</p>
<p>Secure and reliable software update framework for macOS.</p>
<p><img src="Resources/Screenshot2.png" width="732" alt="Sparkle shows familiar update window with release notes"></p>
<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>
<p>Pre-releases when available can be found on the <a href="https://github.com/sparkle-project/Sparkle/releases">Sparkle&rsquo;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>
<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>
<p>Please visit <a href="http://sparkle-project.org">Sparkle&rsquo;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>
<h2 id='features' class='heading'>Features</h2>
<ul>
<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>
<li><code><a href="Classes/SPUUpdater.html">SPUUpdater</a></code> for invoking update checks and retrieving updater properties.</li>
<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>
<li><code><a href="Protocols/SPUUserDriver.html">SPUUserDriver</a></code> for making custom user interfaces.</li>
<li>Seamless. There&rsquo;s no mention of Sparkle; your icons and app name are used.</li>
<li>Secure. Updates are verified using EdDSA signatures and Apple Code Signing. Supports Sandboxed applications in Sparkle 2.</li>
<li>Fast. Supports delta updates which only patch files that have changed and atomic-safe installs.</li>
<li>Easy to install. Sparkle requires no code in your app, and only needs static files on a web server.</li>
<li>Customizable. Sparkle 2 supports plugging in a custom UI for updates.</li>
<li>Flexible. Supports applications, package installers, preference panes, and other plug-ins. Sparkle 2 supports updating external bundles.</li>
<li>Handles permissions, quarantine, and automatically asks for authentication if needed.</li>
<li>Uses RSS-based appcasts for release information. Appcasts are a de-facto standard supported by 3rd party update-tracking programs and websites.</li>
<li>Stays hidden until second launch for better first impressions.</li>
<li>Truly self-updating — the user can choose to automatically download and install all updates in the background.</li>
<li>Ability to use channels for beta updates (in Sparkle 2), add phased rollouts to users, and mark updates as critical or major.</li>
<li>Progress and status notifications for the host app.</li>
</ul>
<h2 id='requirements' class='heading'>Requirements</h2>
<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>
<ul>
<li>Runtime: macOS 10.13 or later.</li>
<li>Build: Latest major Xcode (stable or beta, whichever is latest) and one major version less.</li>
<li>HTTPS server for serving updates (see <a href="http://sparkle-project.org/documentation/app-transport-security/">App Transport Security</a>)</li>
</ul>
<h2 id='usage' class='heading'>Usage</h2>
<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>
<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>
<h3 id='troubleshooting' class='heading'>Troubleshooting</h3>
<ul>
<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&rsquo;s log messages carefully.</p></li>
<li><p>Use the <code>generate_appcast</code> tool which creates appcast files, correct signatures, and delta updates automatically.</p></li>
<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>
</ul>
<h3 id='api-symbols' class='heading'>API symbols</h3>
<p>Sparkle is built with <code>-fvisibility=hidden -fvisibility-inlines-hidden</code> 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 <code>SU_EXPORT</code> macro (grep the source code for examples).</p>
<h3 id='building-the-distribution-package' class='heading'>Building the distribution package</h3>
<p>You do not usually need to build a Sparkle distribution unless you&rsquo;re making changes to Sparkle itself.</p>
<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>
<p>Alternatively, build the Distribution scheme in the Xcode UI.</p>
<h3 id='code-of-conduct' class='heading'>Code of Conduct</h3>
<p>We pledge to have an open and welcoming environment. See our <a href="CODE_OF_CONDUCT.md">Code of Conduct</a>.</p>
</section>
</section>
@@ -216,7 +262,7 @@
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
File diff suppressed because one or more lines are too long
Binary file not shown.
+56 -10
View File
@@ -15,7 +15,7 @@
<header>
<div class="content-wrapper">
<p>
<a href="index.html">Sparkle 2.7.1 Docs</a>
<a href="index.html">Sparkle 2.8.0 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
@@ -37,20 +37,66 @@
<section>
<section class="section">
<h1 id='sparkle-2-api-reference' class='heading'>Sparkle 2 API Reference</h1>
<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>
<p>These are the primary classes and protocols in Sparkle 2 you may be interested in:</p>
<p>Secure and reliable software update framework for macOS.</p>
<p><img src="Resources/Screenshot2.png" width="732" alt="Sparkle shows familiar update window with release notes"></p>
<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>
<p>Pre-releases when available can be found on the <a href="https://github.com/sparkle-project/Sparkle/releases">Sparkle&rsquo;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>
<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>
<p>Please visit <a href="http://sparkle-project.org">Sparkle&rsquo;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>
<h2 id='features' class='heading'>Features</h2>
<ul>
<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>
<li><code><a href="Classes/SPUUpdater.html">SPUUpdater</a></code> for invoking update checks and retrieving updater properties.</li>
<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>
<li><code><a href="Protocols/SPUUserDriver.html">SPUUserDriver</a></code> for making custom user interfaces.</li>
<li>Seamless. There&rsquo;s no mention of Sparkle; your icons and app name are used.</li>
<li>Secure. Updates are verified using EdDSA signatures and Apple Code Signing. Supports Sandboxed applications in Sparkle 2.</li>
<li>Fast. Supports delta updates which only patch files that have changed and atomic-safe installs.</li>
<li>Easy to install. Sparkle requires no code in your app, and only needs static files on a web server.</li>
<li>Customizable. Sparkle 2 supports plugging in a custom UI for updates.</li>
<li>Flexible. Supports applications, package installers, preference panes, and other plug-ins. Sparkle 2 supports updating external bundles.</li>
<li>Handles permissions, quarantine, and automatically asks for authentication if needed.</li>
<li>Uses RSS-based appcasts for release information. Appcasts are a de-facto standard supported by 3rd party update-tracking programs and websites.</li>
<li>Stays hidden until second launch for better first impressions.</li>
<li>Truly self-updating — the user can choose to automatically download and install all updates in the background.</li>
<li>Ability to use channels for beta updates (in Sparkle 2), add phased rollouts to users, and mark updates as critical or major.</li>
<li>Progress and status notifications for the host app.</li>
</ul>
<h2 id='requirements' class='heading'>Requirements</h2>
<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>
<ul>
<li>Runtime: macOS 10.13 or later.</li>
<li>Build: Latest major Xcode (stable or beta, whichever is latest) and one major version less.</li>
<li>HTTPS server for serving updates (see <a href="http://sparkle-project.org/documentation/app-transport-security/">App Transport Security</a>)</li>
</ul>
<h2 id='usage' class='heading'>Usage</h2>
<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>
<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>
<h3 id='troubleshooting' class='heading'>Troubleshooting</h3>
<ul>
<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&rsquo;s log messages carefully.</p></li>
<li><p>Use the <code>generate_appcast</code> tool which creates appcast files, correct signatures, and delta updates automatically.</p></li>
<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>
</ul>
<h3 id='api-symbols' class='heading'>API symbols</h3>
<p>Sparkle is built with <code>-fvisibility=hidden -fvisibility-inlines-hidden</code> 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 <code>SU_EXPORT</code> macro (grep the source code for examples).</p>
<h3 id='building-the-distribution-package' class='heading'>Building the distribution package</h3>
<p>You do not usually need to build a Sparkle distribution unless you&rsquo;re making changes to Sparkle itself.</p>
<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>
<p>Alternatively, build the Distribution scheme in the Xcode UI.</p>
<h3 id='code-of-conduct' class='heading'>Code of Conduct</h3>
<p>We pledge to have an open and welcoming environment. See our <a href="CODE_OF_CONDUCT.md">Code of Conduct</a>.</p>
</section>
</section>
@@ -216,7 +262,7 @@
</div>
<div class="footer-wrapper">
<section id="footer">
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-06-16)</p>
<p>&copy; 2025 <a class="link" href="https://sparkle-project.org" target="_blank" rel="external noopener">Sparkle Project</a>. All rights reserved. (Last updated: 2025-09-16)</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
</section>
</div>
File diff suppressed because one or more lines are too long
+11 -18
View File
@@ -135,49 +135,49 @@
},
{
"file": "/Users/runner/work/sparkle-project.github.io/sparkle-project.github.io/sparkle-source/Sparkle/SPUUpdaterSettings.h",
"line": 31,
"line": 33,
"symbol": "SPUUpdaterSettings.-initWithHostBundle:",
"symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance",
"warning": "undocumented"
},
{
"file": "/Users/runner/work/sparkle-project.github.io/sparkle-project.github.io/sparkle-source/Sparkle/SPUUserDriver.h",
"line": 286,
"line": 288,
"symbol": "SPUUserDriver.-showUpdateNotFoundWithAcknowledgement:",
"symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance",
"warning": "undocumented"
},
{
"file": "/Users/runner/work/sparkle-project.github.io/sparkle-project.github.io/sparkle-source/Sparkle/SPUUserDriver.h",
"line": 288,
"line": 290,
"symbol": "SPUUserDriver.-showUpdateInstallationDidFinishWithAcknowledgement:",
"symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance",
"warning": "undocumented"
},
{
"file": "/Users/runner/work/sparkle-project.github.io/sparkle-project.github.io/sparkle-source/Sparkle/SPUUserDriver.h",
"line": 290,
"line": 292,
"symbol": "SPUUserDriver.-dismissUserInitiatedUpdateCheck",
"symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance",
"warning": "undocumented"
},
{
"file": "/Users/runner/work/sparkle-project.github.io/sparkle-project.github.io/sparkle-source/Sparkle/SPUUserDriver.h",
"line": 292,
"line": 294,
"symbol": "SPUUserDriver.-showInstallingUpdate",
"symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance",
"warning": "undocumented"
},
{
"file": "/Users/runner/work/sparkle-project.github.io/sparkle-project.github.io/sparkle-source/Sparkle/SPUUserDriver.h",
"line": 294,
"line": 296,
"symbol": "SPUUserDriver.-showSendingTerminationSignal",
"symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance",
"warning": "undocumented"
},
{
"file": "/Users/runner/work/sparkle-project.github.io/sparkle-project.github.io/sparkle-source/Sparkle/SPUUserDriver.h",
"line": 296,
"line": 298,
"symbol": "SPUUserDriver.-showInstallingUpdateWithApplicationTerminated:",
"symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance",
"warning": "undocumented"
@@ -198,28 +198,28 @@
},
{
"file": "/Users/runner/work/sparkle-project.github.io/sparkle-project.github.io/sparkle-source/Sparkle/SUAppcastItem.h",
"line": 388,
"line": 387,
"symbol": "SUAppcastItem.-init",
"symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance",
"warning": "undocumented"
},
{
"file": "/Users/runner/work/sparkle-project.github.io/sparkle-project.github.io/sparkle-source/Sparkle/SUAppcastItem.h",
"line": 398,
"line": 397,
"symbol": "SUAppcastItem.-initWithDictionary:",
"symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance",
"warning": "undocumented"
},
{
"file": "/Users/runner/work/sparkle-project.github.io/sparkle-project.github.io/sparkle-source/Sparkle/SUAppcastItem.h",
"line": 399,
"line": 398,
"symbol": "SUAppcastItem.-initWithDictionary:failureReason:",
"symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance",
"warning": "undocumented"
},
{
"file": "/Users/runner/work/sparkle-project.github.io/sparkle-project.github.io/sparkle-source/Sparkle/SUAppcastItem.h",
"line": 400,
"line": 399,
"symbol": "SUAppcastItem.-initWithDictionary:relativeToURL:failureReason:",
"symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance",
"warning": "undocumented"
@@ -455,13 +455,6 @@
"symbol_kind": "sourcekitten.source.lang.objc.decl.enumcase",
"warning": "undocumented"
},
{
"file": "/Users/runner/work/sparkle-project.github.io/sparkle-project.github.io/sparkle-source/Sparkle/SUErrors.h",
"line": 70,
"symbol": "SUError.SUInstallationRootInteractiveError",
"symbol_kind": "sourcekitten.source.lang.objc.decl.enumcase",
"warning": "undocumented"
},
{
"file": "/Users/runner/work/sparkle-project.github.io/sparkle-project.github.io/sparkle-source/Sparkle/SUErrors.h",
"line": 71,