Verificador de appcast de Sparkle
Pega el appcast que tu app lee desde SUFeedURL. Se lee aquí mismo, en esta página, y no se obtiene ni se envía nada.
Prueba un ejemplo:
Qué hace
Sparkle es el framework de actualizaciones que usan la mayoría de las apps de Mac vendidas fuera de la Mac App Store. Tu app lee un pequeño archivo RSS, el appcast, y cada <item> es una versión. Esta herramienta lee el appcast que pegas y revisa cada versión según la documentación de publicación de Sparkle: que tenga una versión que Sparkle pueda comparar, una descarga por https con tamaño y firma EdDSA, una versión mínima de macOS y una fecha. También detecta los errores que rompen todo el feed, como que falte el espacio de nombres de Sparkle o un & suelto en una dirección de descarga.
Cómo es una buena versión
<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>La etiqueta <rss> de arriba necesita xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle". La herramienta generate_appcast de Sparkle escribe casi todo esto por ti, incluida la firma y la length.
Qué significa cada resultado
| Marca | Qué significa |
|---|---|
| Arreglar | Sparkle no puede leer el feed, no puede comparar la versión o no la instalará. |
| Aspecto | Funciona, pero la versión puede llegar a Macs que no pueden ejecutarla, o le falta algo que pide la documentación de Sparkle. |
| OK | Configurado como lo describe la documentación de Sparkle. |
| Nota | Un ajuste que conviene conocer, como un canal o una actualización crítica. |
Fuentes: Sparkle, Publicar una actualización, documentación de Sparkle y Sparkle, migración a EdDSA, todas consultadas el 8 de noviembre de 2026.
Cómo funciona
Son unas pocas reglas de texto plano que corren en esta página. No descarga tu actualización, así que no puede comprobar que la firma coincida con tu clave ni que el atributo length coincida con el archivo: Sparkle hace ambas cosas al instalar. Tampoco obtiene tu feed, así que pega el texto en lugar de la dirección. sparkle:hardwareRequirements necesita Sparkle 2.9 o posterior en la copia de tu app que la gente ya tiene. Las copias más antiguas lo ignoran. Nada de lo que pegas se guarda ni se envía.
Preguntas
¿Qué es un appcast de Sparkle?
Un archivo RSS en tu servidor que lista las versiones de tu app de Mac. Sparkle, dentro de tu app, lo lee desde la SUFeedURL de tu Info.plist y ofrece cualquier versión más nueva que la instalada.
¿Toda actualización de Sparkle necesita una firma EdDSA?
La documentación de Sparkle dice que debes firmar tus actualizaciones, y generate_appcast las firma por ti. Una app con SUPublicEDKey en su Info.plist comprueba la firma antes de instalar nada.
¿Cómo evito que una actualización llegue a Macs que no pueden ejecutarla?
Añade sparkle:minimumSystemVersion a la versión, con tres partes como 14.0.0. Desde Sparkle 2.9 también puedes añadir sparkle:hardwareRequirements con arm64 para una compilación que solo corre en Apple silicon.
¿Qué número de versión compara Sparkle?
sparkle:version, comparada con el CFBundleVersion de la app que tiene el usuario. sparkle:shortVersionString es solo lo que ve la gente.
¿Lo que pego se envía a algún sitio?
No. El texto se lee en esta página y no se obtiene, envía ni guarda nada.