Перевірка appcast для Sparkle
Вставте appcast, який ваш застосунок читає за SUFeedURL. Він читається просто на цій сторінці, і нічого не отримується й не надсилається.
Спробуйте приклад:
Що робить
Sparkle це фреймворк оновлень, який використовує більшість застосунків для Mac, що продаються поза Mac App Store. Ваш застосунок читає невеликий файл RSS, appcast, і кожен <item> у ньому це один випуск. Цей інструмент читає вставлений appcast і перевіряє кожен випуск за власною документацією Sparkle про публікацію: чи є версія, яку Sparkle може порівняти, завантаження по https із розміром і підписом EdDSA, мінімальна версія macOS і дата. Він також ловить помилки, що ламають усю стрічку, як-от відсутній простір імен Sparkle чи голий & в адресі завантаження.
Як виглядає хороший випуск
<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>Тег <rss> угорі потребує xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle". Інструмент generate_appcast від Sparkle записує більшість цього за вас, зокрема підпис і length.
Що означає кожен результат
| Позначка | Що це означає |
|---|---|
| Виправити | Sparkle не може прочитати стрічку, не може порівняти випуск або не встановить його. |
| Вигляд | Працює, але випуск може дійти до Mac, які не можуть його запустити, або йому бракує чогось, чого просить документація Sparkle. |
| OK | Задано так, як описує документація Sparkle. |
| Примітка | Налаштування, про яке варто знати, наприклад канал або критичне оновлення. |
Джерела: Sparkle: публікація оновлення, документація Sparkle та Sparkle: міграція на EdDSA, усе прочитано 8 листопада 2026 р..
Як це працює
Це кілька простих текстових правил, що виконуються на цій сторінці. Воно не завантажує ваше оновлення, тому не може перевірити, чи підпис збігається з вашим ключем і чи length збігається з файлом: Sparkle робить обидві перевірки під час встановлення. Воно також не отримує вашу стрічку, тож вставляйте текст, а не адресу. sparkle:hardwareRequirements потребує Sparkle 2.9 або новішого в тій копії вашого застосунку, яку люди вже мають. Старіші копії це ігнорують. Нічого з вставленого не зберігається й не надсилається.
Запитання
Що таке appcast для Sparkle?
Файл RSS на вашому сервері, що перелічує випуски вашого застосунку для Mac. Sparkle всередині вашого застосунку читає його за SUFeedURL з вашого Info.plist і пропонує будь-який випуск новіший за встановлений.
Чи потрібен кожному оновленню Sparkle підпис EdDSA?
Документація Sparkle каже, що оновлення треба підписувати, і generate_appcast підписує їх за вас. Застосунок із SUPublicEDKey в Info.plist перевіряє підпис, перш ніж щось встановлювати.
Як не допустити, щоб оновлення дійшло до Mac, які не можуть його запустити?
Додайте sparkle:minimumSystemVersion до випуску, з трьох частин, наприклад 14.0.0. Починаючи зі Sparkle 2.9, можна також додати sparkle:hardwareRequirements зі значенням arm64 для збірки, яка працює лише на Apple silicon.
Який номер версії порівнює Sparkle?
sparkle:version, що порівнюється з CFBundleVersion застосунку, який є в користувача. sparkle:shortVersionString це лише те, що бачать люди.
Чи надсилається кудись те, що я вставляю?
Ні. Текст читається на цій сторінці, і нічого не отримується, не надсилається й не зберігається.