스폰서로그인제출

← 모든 도구

Sparkle appcast 검사기

앱이 SUFeedURL에서 읽는 appcast를 붙여 넣으세요. 이 페이지 안에서만 읽고, 아무것도 가져오거나 전송하지 않아요.

Sparkle appcast 검사기

예시로 해 보기:

하는 일

Sparkle은 Mac App Store 밖에서 판매되는 대부분의 Mac 앱이 쓰는 업데이트 프레임워크예요. 앱은 appcast라는 작은 RSS 파일을 읽고, 그 안의 <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"가 필요해요. Sparkle의 generate_appcast 도구는 서명과 length를 포함해 이 대부분을 대신 써 줘요.

결과별 의미

표시의미
수정Sparkle이 피드를 읽을 수 없거나, 릴리스를 비교할 수 없거나, 설치하지 않을 거예요.
모양동작은 하지만, 이 릴리스가 실행할 수 없는 Mac에 갈 수 있거나 Sparkle 문서가 요구하는 게 빠져 있어요.
OKSparkle 문서에 나온 대로 설정되어 있어요.
참고알아 두면 좋은 설정이에요. 예를 들어 채널이나 중요 업데이트예요.

출처: Sparkle, 업데이트 배포, Sparkle 문서, Sparkle, EdDSA 마이그레이션. 모두 2026년 11월 8일에 읽었어요.

작동 방식

이 페이지에서 돌아가는 몇 가지 간단한 텍스트 규칙이에요. 업데이트를 내려받지는 않기 때문에 서명이 내 키와 맞는지, length가 파일과 맞는지는 확인할 수 없어요. 둘 다 Sparkle이 설치할 때 확인해요. 피드도 가져오지 않으니 주소가 아니라 텍스트를 붙여 넣으세요. sparkle:hardwareRequirements는 사람들이 이미 가지고 있는 앱 사본에 Sparkle 2.9 이상이 들어 있어야 해요. 이전 사본은 이를 무시해요. 붙여 넣은 내용은 저장도 전송도 되지 않아요.

질문

Sparkle appcast가 뭔가요?

Mac 앱의 릴리스를 나열한, 서버에 있는 RSS 파일이에요. 앱 안의 Sparkle이 Info.plist의 SUFeedURL에서 이 파일을 읽고, 설치된 버전보다 새로운 릴리스가 있으면 알려 줘요.

Sparkle 업데이트마다 EdDSA 서명이 꼭 필요한가요?

Sparkle 문서는 업데이트에 서명해야 한다고 하고, generate_appcast가 대신 서명해 줘요. Info.plist에 SUPublicEDKey가 있는 앱은 무엇이든 설치하기 전에 서명을 확인해요.

실행할 수 없는 Mac에 업데이트가 가지 않게 하려면 어떻게 하나요?

릴리스에 sparkle:minimumSystemVersion을 추가하세요. 14.0.0처럼 세 부분으로 써요. Sparkle 2.9부터는 Apple silicon에서만 실행되는 빌드에 sparkle:hardwareRequirements를 arm64로 추가할 수도 있어요.

Sparkle은 어떤 버전 번호를 비교하나요?

sparkle:version은 사용자가 가진 앱의 CFBundleVersion과 비교돼요. sparkle:shortVersionString은 사람들에게 보이는 값일 뿐이에요.

붙여넣은 내용이 어딘가로 전송되나요?

아니요. 텍스트는 이 페이지에서만 읽고, 가져오거나 전송하거나 저장하지 않아요.

관련 글