Andy Matushak seems to indicate that Sparkle really can handle "download only" gracefully for you. In his own words, just leave the <enclosure> outside your <item> and add the <sparkle:version>2.0</sparkle:version> element as the child of the <item> .
Read his comment here: https://github.com/sparkle-project/Sparkle/issues/227#issuecomment-13192723
Like Fermat in front of him, he left one piece of information. But unlike the theorem, we have access to the Sparkle source code, in particular SUAppcastItem.m . Thanks to the code, I realized that the missing part was the <link> . Here is an appcast example:
<?xml version="1.0" encoding="utf-8"?> <rss version="2.0" xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle" xmlns:dc="http://purl.org/dc/elements/1.1/"> <channel> <title>FooBar</title> <link>http://foobar.com/appcast.xml</link> <description>Most recent changes with links to updates.</description> <language>en</language> <item> <title>FooBar 2.0</title> <sparkle:releaseNotesLink>http://foobar.com/release-notes-special.html</sparkle:releaseNotesLink> <sparkle:minimumSystemVersion>10.9.0</sparkle:minimumSystemVersion> <pubDate>2014-04-14T18:40:44+02:00</pubDate> <sparkle:version>2013</sparkle:version> <sparkle:shortVersionString>2.0</sparkle:shortVersionString> <link>http://foobar.com/release-notes-special.html</link> </item> </channel> </rss>
In the sandbox application that receives this application and cannot be updated otherwise, “Install update” has disappeared, and the “Learn more” button appears in its place, which will lead the user to the URL in this <link> . This is a good place for download instructions.
In the next version of your application, you can use a different URL for the application, so the above appcast only applies to older versions (provided that you correct the situation and now use the unofficial XPC trick with Sparkle).
charles
source share