СпонсорУвійтиПодати

← Усі інструменти

Перевірка appcast для Sparkle

Вставте appcast, який ваш застосунок читає за SUFeedURL. Він читається просто на цій сторінці, і нічого не отримується й не надсилається.

Перевірка appcast для Sparkle

Спробуйте приклад:

Що робить

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 це лише те, що бачать люди.

Чи надсилається кудись те, що я вставляю?

Ні. Текст читається на цій сторінці, і нічого не отримується, не надсилається й не зберігається.

Схожі