PatrocinarEntrarEnviar

← Todas as ferramentas

Verificador de appcast do Sparkle

Cole o appcast que o seu app lê a partir da SUFeedURL. Ele é lido aqui mesmo, nesta página, e nada é buscado ou enviado.

Verificador de appcast do Sparkle

Teste um exemplo:

O que faz

O Sparkle é o framework de atualização que a maioria dos apps de Mac vendidos fora da Mac App Store usa. O seu app lê um pequeno arquivo RSS, o appcast, e cada <item> dele é uma versão. Esta ferramenta lê o appcast que você cola e confere cada versão com a documentação de publicação do próprio Sparkle: se tem uma versão que o Sparkle consegue comparar, um download em https com tamanho e assinatura EdDSA, uma versão mínima do macOS e uma data. Ela também pega os erros que quebram o feed inteiro, como a falta do namespace do Sparkle ou um & solto em um endereço de download.

Como é uma boa versão

<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>

A tag <rss> no topo precisa de xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle". A ferramenta generate_appcast do Sparkle escreve quase tudo isso para você, incluindo a assinatura e a length.

O que cada resultado significa

MarcaO que significa
CorrigirO Sparkle não consegue ler o feed, não consegue comparar a versão ou não vai instalá-la.
AparênciaFunciona, mas a versão pode chegar a Macs que não conseguem executá-la, ou falta algo que a documentação do Sparkle pede.
OKDefinido como a documentação do Sparkle descreve.
NotaUma configuração que vale conhecer, como um canal ou uma atualização crítica.

Fontes: Sparkle, publicar uma atualização, documentação do Sparkle e Sparkle, migração para EdDSA, todas lidas em 8 de novembro de 2026.

Como funciona

São algumas regras de texto simples rodando nesta página. Ela não baixa a sua atualização, então não consegue conferir se a assinatura combina com a sua chave nem se o atributo length combina com o arquivo: o Sparkle faz as duas coisas na hora de instalar. Ela também não busca o seu feed, então cole o texto em vez do endereço. sparkle:hardwareRequirements exige o Sparkle 2.9 ou mais novo na cópia do seu app que as pessoas já têm. Cópias mais antigas ignoram isso. Nada do que você cola é salvo ou enviado.

Perguntas

O que é um appcast do Sparkle?

Um arquivo RSS no seu servidor que lista as versões do seu app de Mac. O Sparkle, dentro do seu app, lê esse arquivo a partir da SUFeedURL no seu Info.plist e oferece qualquer versão mais nova do que a instalada.

Toda atualização do Sparkle precisa de uma assinatura EdDSA?

A documentação do Sparkle diz que você precisa assinar as suas atualizações, e o generate_appcast assina por você. Um app com SUPublicEDKey no Info.plist confere a assinatura antes de instalar qualquer coisa.

Como impeço que uma atualização chegue a Macs que não conseguem executá-la?

Adicione sparkle:minimumSystemVersion à versão, com três partes como 14.0.0. A partir do Sparkle 2.9, você também pode adicionar sparkle:hardwareRequirements com arm64 para uma build que só roda em Apple silicon.

Qual número de versão o Sparkle compara?

sparkle:version, comparada com o CFBundleVersion do app que o usuário tem. sparkle:shortVersionString é só o que as pessoas veem.

O que eu colo é enviado para algum lugar?

Não. O texto é lido nesta página e nada é buscado, enviado ou guardado.

Relacionados