Files
sparkle-project.github.io/documentation/api-reference/classes.html
T
2025-06-16 04:26:24 +00:00

673 lines
38 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<title>Classes Reference</title>
<link rel="stylesheet" type="text/css" href="css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="css/highlight.css" />
<meta charset='utf-8'>
<meta name="viewport" content="width=device-width, viewport-fit=cover, initial-scale=1.0" />
<script src="js/jquery.min.js" defer></script>
<script src="js/jazzy.js" defer></script>
</head>
<body>
<a name="//apple_ref/objc/Section/Classes" class="dashAnchor"></a>
<a title="Classes Reference"></a>
<header>
<div class="content-wrapper">
<p>
<a href="index.html">Sparkle 2.7.1 Docs</a>
<span class="no-mobile"> (59% documented)</span>
</p>
</div>
</header>
<div id="breadcrumbs-container">
<div class="content-wrapper">
<p id="breadcrumbs">
<span class="no-mobile">
<a href="index.html">Sparkle</a>
<img id="carat" src="img/carat.png" alt=""/>
Classes Reference
</span>
</p>
</div>
</div>
<div class="wrapper">
<div class="article-wrapper">
<article class="main-content">
<section>
<section class="section">
<h1>Classes</h1>
<p>The following classes are available globally.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)SPUDownloadData"></a>
<a name="//apple_ref/objc/Class/SPUDownloadData" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)SPUDownloadData">SPUDownloadData</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>A class for containing downloaded data along with some information about it.</p>
<a href="Classes/SPUDownloadData.html" class="slightly-smaller">See more</a>
</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">@interface</span> <span class="nc">SPUDownloadData</span> <span class="p">:</span> <span class="nc">NSObject</span> <span class="o">&lt;</span><span class="n">NSSecureCoding</span><span class="o">&gt;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">class</span> <span class="kt">SPUDownloadData</span> <span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt">NSSecureCoding</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)SPUStandardUpdaterController"></a>
<a name="//apple_ref/objc/Class/SPUStandardUpdaterController" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)SPUStandardUpdaterController">SPUStandardUpdaterController</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>A controller class that instantiates a <code><a href="Classes/SPUUpdater.html">SPUUpdater</a></code> and allows binding UI to its updater settings.</p>
<p>This class can be instantiated in a nib or created programmatically using <code><a href="Classes/SPUStandardUpdaterController.html#/c:objc(cs)SPUStandardUpdaterController(im)initWithUpdaterDelegate:userDriverDelegate:">-initWithUpdaterDelegate:userDriverDelegate:</a></code> or <code><a href="Classes/SPUStandardUpdaterController.html#/c:objc(cs)SPUStandardUpdaterController(im)initWithStartingUpdater:updaterDelegate:userDriverDelegate:">-initWithStartingUpdater:updaterDelegate:userDriverDelegate:</a></code>.</p>
<p>The controller&rsquo;s updater targets the application&rsquo;s main bundle and uses Sparkle&rsquo;s standard user interface.
Typically, this class is used by sticking it as a custom NSObject subclass in an Interface Builder nib (probably in MainMenu) but it works well programmatically too.</p>
<p>The controller creates an <code><a href="Classes/SPUUpdater.html">SPUUpdater</a></code> instance using a <code><a href="Classes/SPUStandardUserDriver.html">SPUStandardUserDriver</a></code> and allows hooking up the check for updates action and handling menu item validation.
It also allows hooking up the updater&rsquo;s and user driver&rsquo;s delegates.</p>
<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>
<a href="Classes/SPUStandardUpdaterController.html" class="slightly-smaller">See more</a>
</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">@interface</span> <span class="nc">SPUStandardUpdaterController</span> <span class="p">:</span> <span class="nc">NSObject</span> <span class="p">{</span>
<span class="n">id</span><span class="o">&lt;</span><span class="n"><a href="Protocols/SPUUpdaterDelegate.html">SPUUpdaterDelegate</a></span><span class="o">&gt;</span> <span class="n">updaterDelegate</span><span class="p">;</span>
<span class="n">id</span><span class="o">&lt;</span><span class="n"><a href="Protocols/SPUStandardUserDriverDelegate.html">SPUStandardUserDriverDelegate</a></span><span class="o">&gt;</span> <span class="n">userDriverDelegate</span><span class="p">;</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">class</span> <span class="kt">SPUStandardUpdaterController</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)SPUStandardUserDriver"></a>
<a name="//apple_ref/objc/Class/SPUStandardUserDriver" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)SPUStandardUserDriver">SPUStandardUserDriver</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Sparkle&rsquo;s standard built-in user driver for updater interactions</p>
<a href="Classes/SPUStandardUserDriver.html" class="slightly-smaller">See more</a>
</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">@interface</span> <span class="nc">SPUStandardUserDriver</span> <span class="p">:</span> <span class="nc">NSObject</span> <span class="o">&lt;</span><span class="n"><a href="Protocols/SPUUserDriver.html">SPUUserDriver</a></span><span class="o">&gt;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">class</span> <span class="kt">SPUStandardUserDriver</span> <span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt"><a href="Protocols/SPUUserDriver.html">SPUUserDriver</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)SPUUpdatePermissionRequest"></a>
<a name="//apple_ref/objc/Class/SPUUpdatePermissionRequest" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)SPUUpdatePermissionRequest">SPUUpdatePermissionRequest</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>This class represents information needed to make a permission request for checking updates.</p>
<a href="Classes/SPUUpdatePermissionRequest.html" class="slightly-smaller">See more</a>
</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">@interface</span> <span class="nc">SPUUpdatePermissionRequest</span> <span class="p">:</span> <span class="nc">NSObject</span> <span class="o">&lt;</span><span class="n">NSSecureCoding</span><span class="o">&gt;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">class</span> <span class="kt">SPUUpdatePermissionRequest</span> <span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt">NSSecureCoding</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)SPUUpdater"></a>
<a name="//apple_ref/objc/Class/SPUUpdater" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)SPUUpdater">SPUUpdater</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The main API in Sparkle for controlling the update mechanism.</p>
<p>This class is used to configure the update parameters as well as manually and automatically schedule and control checks for updates.</p>
<p>For convenience, you can create a standard or nib instantiable updater by using <code><a href="Classes/SPUStandardUpdaterController.html">SPUStandardUpdaterController</a></code>.</p>
<p>Prefer to set initial properties in your bundle&rsquo;s Info.plist as described in <a href="https://sparkle-project.org/documentation/customization/">Customizing Sparkle</a>.</p>
<p>Otherwise only if you need dynamic behavior for user settings should you set properties on the updater such as:</p>
<ul>
<li><code>automaticallyChecksForUpdates</code></li>
<li><code>updateCheckInterval</code></li>
<li><code>automaticallyDownloadsUpdates</code></li>
<li><code>feedURL</code></li>
</ul>
<p>Please view the documentation on each of these properties for more detail if you are to configure them dynamically.</p>
<a href="Classes/SPUUpdater.html" class="slightly-smaller">See more</a>
</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">@interface</span> <span class="nc">SPUUpdater</span> <span class="p">:</span> <span class="nc">NSObject</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">class</span> <span class="kt">SPUUpdater</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)SPUUpdaterSettings"></a>
<a name="//apple_ref/objc/Class/SPUUpdaterSettings" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)SPUUpdaterSettings">SPUUpdaterSettings</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>This class can be used for reading certain 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>
<a href="Classes/SPUUpdaterSettings.html" class="slightly-smaller">See more</a>
</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">@interface</span> <span class="nc">SPUUpdaterSettings</span> <span class="p">:</span> <span class="nc">NSObject</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">class</span> <span class="kt">SPUUpdaterSettings</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)SPUUserUpdateState"></a>
<a name="//apple_ref/objc/Class/SPUUserUpdateState" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)SPUUserUpdateState">SPUUserUpdateState</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>This represents the user&rsquo;s current update state.</p>
<a href="Classes/SPUUserUpdateState.html" class="slightly-smaller">See more</a>
</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">@interface</span> <span class="nc">SPUUserUpdateState</span> <span class="p">:</span> <span class="nc">NSObject</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">class</span> <span class="kt">SPUUserUpdateState</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)SUAppcast"></a>
<a name="//apple_ref/objc/Class/SUAppcast" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)SUAppcast">SUAppcast</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The appcast representing a collection of <code><a href="Classes/SUAppcastItem.html">SUAppcastItem</a></code> items in the feed.</p>
<a href="Classes/SUAppcast.html" class="slightly-smaller">See more</a>
</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">@interface</span> <span class="nc">SUAppcast</span> <span class="p">:</span> <span class="nc">NSObject</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">class</span> <span class="kt">SUAppcast</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)SUAppcastItem"></a>
<a name="//apple_ref/objc/Class/SUAppcastItem" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)SUAppcastItem">SUAppcastItem</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>The appcast item describing an update in the application&rsquo;s appcast feed.</p>
<p>An appcast item represents a single update item in the <code><a href="Classes/SUAppcast.html">SUAppcast</a></code> contained within the <code>&lt;item&gt;</code> element.</p>
<p>Every appcast item must have a <code>versionString</code>, and either a <code>fileURL</code> or an <code>infoURL</code>.
All the remaining properties describing an update to the application are optional.</p>
<p>Extended documentation and examples on using appcast item features are available at:
<a href="https://sparkle-project.org/documentation/publishing/">https://sparkle-project.org/documentation/publishing/</a></p>
<a href="Classes/SUAppcastItem.html" class="slightly-smaller">See more</a>
</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">@interface</span> <span class="nc">SUAppcastItem</span> <span class="p">:</span> <span class="nc">NSObject</span> <span class="o">&lt;</span><span class="n">NSSecureCoding</span><span class="o">&gt;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">class</span> <span class="kt">SUAppcastItem</span> <span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt">NSSecureCoding</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)SUStandardVersionComparator"></a>
<a name="//apple_ref/objc/Class/SUStandardVersionComparator" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)SUStandardVersionComparator">SUStandardVersionComparator</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Sparkle&rsquo;s default version comparator.</p>
<p>This comparator is adapted from MacPAD, by Kevin Ballard.
It&rsquo;s &ldquo;dumb&rdquo; in that it does essentially string comparison,
in components split by character type.</p>
<a href="Classes/SUStandardVersionComparator.html" class="slightly-smaller">See more</a>
</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">@interface</span> <span class="nc">SUStandardVersionComparator</span> <span class="p">:</span> <span class="nc">NSObject</span> <span class="o">&lt;</span><span class="n"><a href="Protocols/SUVersionComparison.html">SUVersionComparison</a></span><span class="o">&gt;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">class</span> <span class="kt">SUStandardVersionComparator</span> <span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt"><a href="Protocols/SUVersionComparison.html">SUVersionComparison</a></span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)SUUpdatePermissionResponse"></a>
<a name="//apple_ref/objc/Class/SUUpdatePermissionResponse" class="dashAnchor"></a>
<a class="token" href="#/c:objc(cs)SUUpdatePermissionResponse">SUUpdatePermissionResponse</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>This class represents a response for permission to check updates.</p>
<a href="Classes/SUUpdatePermissionResponse.html" class="slightly-smaller">See more</a>
</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">@interface</span> <span class="nc">SUUpdatePermissionResponse</span> <span class="p">:</span> <span class="nc">NSObject</span> <span class="o">&lt;</span><span class="n">NSSecureCoding</span><span class="o">&gt;</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">class</span> <span class="kt">SUUpdatePermissionResponse</span> <span class="p">:</span> <span class="kt">NSObject</span><span class="p">,</span> <span class="kt">NSSecureCoding</span></code></pre>
</div>
</div>
</section>
</div>
</li>
<li class="item">
<div>
<code>
<a name="/c:objc(cs)SUUpdater"></a>
<a name="//apple_ref/objc/Class/SUUpdater" class="dashAnchor"></a>
<a class="token discouraged" href="#/c:objc(cs)SUUpdater">SUUpdater</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="aside aside-deprecated">
<p class="aside-title">Deprecated</p>
<p>Deprecated in Sparkle 2. Use SPUStandardUpdaterController instead, or SPUUpdater if you need more control.</p>
</div>
<div class="abstract">
<p>The legacy API in Sparkle for controlling the update mechanism.</p>
<p>This class is now deprecated and acts as a thin wrapper around <code><a href="Classes/SPUUpdater.html">SPUUpdater</a></code> and <code><a href="Classes/SPUStandardUserDriver.html">SPUStandardUserDriver</a></code>.</p>
<p>If you are migrating to Sparkle 2, use <code><a href="Classes/SPUStandardUpdaterController.html">SPUStandardUpdaterController</a></code> instead, or <code><a href="Classes/SPUUpdater.html">SPUUpdater</a></code> if you need more control.</p>
<a href="Classes/SUUpdater.html" class="slightly-smaller">See more</a>
</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">@interface</span> <span class="nc">SUUpdater</span> <span class="p">:</span> <span class="nc">NSObject</span></code></pre>
</div>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">class</span> <span class="kt">SUUpdater</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>
</div>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
</article>
</div>
<div class="nav-wrapper">
<nav class="nav-bottom">
<ul class="nav-groups">
<li class="nav-group-name">
<a href="Classes.html">Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="Classes/SPUDownloadData.html">SPUDownloadData</a>
</li>
<li class="nav-group-task">
<a href="Classes/SPUStandardUpdaterController.html">SPUStandardUpdaterController</a>
</li>
<li class="nav-group-task">
<a href="Classes/SPUStandardUserDriver.html">SPUStandardUserDriver</a>
</li>
<li class="nav-group-task">
<a href="Classes/SPUUpdatePermissionRequest.html">SPUUpdatePermissionRequest</a>
</li>
<li class="nav-group-task">
<a href="Classes/SPUUpdater.html">SPUUpdater</a>
</li>
<li class="nav-group-task">
<a href="Classes/SPUUpdaterSettings.html">SPUUpdaterSettings</a>
</li>
<li class="nav-group-task">
<a href="Classes/SPUUserUpdateState.html">SPUUserUpdateState</a>
</li>
<li class="nav-group-task">
<a href="Classes/SUAppcast.html">SUAppcast</a>
</li>
<li class="nav-group-task">
<a href="Classes/SUAppcastItem.html">SUAppcastItem</a>
</li>
<li class="nav-group-task">
<a href="Classes/SUStandardVersionComparator.html">SUStandardVersionComparator</a>
</li>
<li class="nav-group-task">
<a href="Classes/SUUpdatePermissionResponse.html">SUUpdatePermissionResponse</a>
</li>
<li class="nav-group-task">
<a href="Classes/SUUpdater.html">SUUpdater</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="Constants.html">Constants</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="Constants.html#/c:@SPULatestAppcastItemFoundKey">SPULatestAppcastItemFoundKey</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@SPUNoUpdateFoundReasonKey">SPUNoUpdateFoundReasonKey</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@SPUNoUpdateFoundUserInitiatedKey">SPUNoUpdateFoundUserInitiatedKey</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@SUSparkleErrorDomain">SUSparkleErrorDomain</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@SUSystemProfilerApplicationNameKey">SUSystemProfilerApplicationNameKey</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@SUSystemProfilerApplicationVersionKey">SUSystemProfilerApplicationVersionKey</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@SUSystemProfilerCPU64bitKey">SUSystemProfilerCPU64bitKey</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@SUSystemProfilerCPUCountKey">SUSystemProfilerCPUCountKey</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@SUSystemProfilerCPUFrequencyKey">SUSystemProfilerCPUFrequencyKey</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@SUSystemProfilerCPUSubtypeKey">SUSystemProfilerCPUSubtypeKey</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@SUSystemProfilerCPUTypeKey">SUSystemProfilerCPUTypeKey</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@SUSystemProfilerHardwareModelKey">SUSystemProfilerHardwareModelKey</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@SUSystemProfilerMemoryKey">SUSystemProfilerMemoryKey</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@SUSystemProfilerOperatingSystemVersionKey">SUSystemProfilerOperatingSystemVersionKey</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@SUSystemProfilerPreferredLanguageKey">SUSystemProfilerPreferredLanguageKey</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@SUUpdaterAppcastItemNotificationKey">SUUpdaterAppcastItemNotificationKey</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@SUUpdaterAppcastNotificationKey">SUUpdaterAppcastNotificationKey</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@SUUpdaterDidFindValidUpdateNotification">SUUpdaterDidFindValidUpdateNotification</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@SUUpdaterDidFinishLoadingAppCastNotification">SUUpdaterDidFinishLoadingAppCastNotification</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@SUUpdaterDidNotFindUpdateNotification">SUUpdaterDidNotFindUpdateNotification</a>
</li>
<li class="nav-group-task">
<a href="Constants.html#/c:@SUUpdaterWillRestartNotification">SUUpdaterWillRestartNotification</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="Enums.html">Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="Enums/SPUNoUpdateFoundReason.html">SPUNoUpdateFoundReason</a>
</li>
<li class="nav-group-task">
<a href="Enums/SPUUpdateCheck.html">SPUUpdateCheck</a>
</li>
<li class="nav-group-task">
<a href="Enums/SPUUserUpdateChoice.html">SPUUserUpdateChoice</a>
</li>
<li class="nav-group-task">
<a href="Enums/SPUUserUpdateStage.html">SPUUserUpdateStage</a>
</li>
<li class="nav-group-task">
<a href="Enums/SUError.html">SUError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="Protocols/SPUStandardUserDriverDelegate.html">SPUStandardUserDriverDelegate</a>
</li>
<li class="nav-group-task">
<a href="Protocols/SPUUpdaterDelegate.html">SPUUpdaterDelegate</a>
</li>
<li class="nav-group-task">
<a href="Protocols/SPUUserDriver.html">SPUUserDriver</a>
</li>
<li class="nav-group-task">
<a href="Protocols/SUUpdaterDelegate.html">SUUpdaterDelegate</a>
</li>
<li class="nav-group-task">
<a href="Protocols/SUVersionComparison.html">SUVersionComparison</a>
</li>
<li class="nav-group-task">
<a href="Protocols/SUVersionDisplay.html">SUVersionDisplay</a>
</li>
</ul>
</li>
</ul>
</nav>
</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>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>
</div>
</body>
</html>