Sparkle-Appcast-Checker
Füge den Appcast ein, den deine App über SUFeedURL liest. Er wird direkt hier auf dieser Seite gelesen, und nichts wird abgerufen oder gesendet.
Probiere ein Beispiel:
Was es macht
Sparkle ist das Update-Framework, das die meisten Mac-Apps nutzen, die außerhalb des Mac App Store verkauft werden. Deine App liest eine kleine RSS-Datei, den Appcast, und jedes <item> darin ist ein Release. Dieses Tool liest den Appcast, den du einfügst, und prüft jedes Release anhand der Sparkle-Dokumentation zum Veröffentlichen: ob es eine Version hat, die Sparkle vergleichen kann, einen Download über https mit Größe und EdDSA-Signatur, eine minimale macOS-Version und ein Datum. Es erkennt auch die Fehler, die den ganzen Feed kaputt machen, etwa einen fehlenden Sparkle-Namespace oder ein einzelnes & in einer Download-Adresse.
So sieht ein gutes Release aus
<item>
<title>Version 2.1</title>
<pubDate>Sat, 07 Nov 2026 09:30:00 +0000</pubDate>
<sparkle:version>210</sparkle:version>
<sparkle:shortVersionString>2.1</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>14.0.0</sparkle:minimumSystemVersion>
<enclosure url="https://yourapp.com/YourApp-2.1.zip" length="8412337"
type="application/octet-stream" sparkle:edSignature="..."/>
</item>Das <rss>-Tag ganz oben braucht xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle". Sparkles Tool generate_appcast schreibt das meiste davon für dich, auch die Signatur und die length.
Was jedes Ergebnis bedeutet
| Markierung | Was es bedeutet |
|---|---|
| Beheben | Sparkle kann den Feed nicht lesen, das Release nicht vergleichen oder installiert es nicht. |
| Aussehen | Es funktioniert, aber das Release erreicht vielleicht Macs, die es nicht ausführen können, oder es fehlt etwas, das die Sparkle-Dokumentation verlangt. |
| OK | So gesetzt, wie die Sparkle-Dokumentation es beschreibt. |
| Hinweis | Eine Einstellung, die man kennen sollte, etwa ein Channel oder ein kritisches Update. |
Quellen: Sparkle, Ein Update veröffentlichen, Sparkle-Dokumentation und Sparkle, Migration zu EdDSA, alle gelesen am 8. November 2026.
So funktioniert's
Es sind ein paar einfache Textregeln, die auf dieser Seite laufen. Es lädt dein Update nicht herunter und kann daher nicht prüfen, ob die Signatur zu deinem Schlüssel passt oder das Attribut length zur Datei: Beides macht Sparkle bei der Installation. Es ruft auch deinen Feed nicht ab, füge also den Text statt der Adresse ein. sparkle:hardwareRequirements braucht Sparkle 2.9 oder neuer in der Kopie deiner App, die die Leute schon haben. Ältere Kopien ignorieren es. Nichts, was du einfügst, wird gespeichert oder gesendet.
Fragen
Was ist ein Sparkle-Appcast?
Eine RSS-Datei auf deinem Server, die die Releases deiner Mac-App auflistet. Sparkle in deiner App liest sie über die SUFeedURL in deiner Info.plist und bietet jedes Release an, das neuer ist als das installierte.
Braucht jedes Sparkle-Update eine EdDSA-Signatur?
Laut Sparkle-Dokumentation musst du deine Updates signieren, und generate_appcast signiert sie für dich. Eine App mit SUPublicEDKey in ihrer Info.plist prüft die Signatur, bevor sie etwas installiert.
Wie verhindere ich, dass ein Update Macs erreicht, die es nicht ausführen können?
Füge sparkle:minimumSystemVersion zum Release hinzu, mit drei Teilen wie 14.0.0. Ab Sparkle 2.9 kannst du außerdem sparkle:hardwareRequirements mit arm64 hinzufügen, für einen Build, der nur auf Apple silicon läuft.
Welche Versionsnummer vergleicht Sparkle?
sparkle:version, verglichen mit der CFBundleVersion der App, die der Nutzer hat. sparkle:shortVersionString ist nur das, was die Leute sehen.
Wird das, was ich einfüge, irgendwohin gesendet?
Nein. Der Text wird auf dieser Seite gelesen, und nichts wird abgerufen, gesendet oder gespeichert.