The value of the appcast
stanza is a string, holding the URL for an appcast which provides information on future updates.
Example: atom.rb
There are a few different ways the appcast
can be determined:
-
If the app is distributed via GitHub releases, the
appcast
will be of the formhttps://github.com/{{user}}/{{project_name}}/releases.atom
. (Example:electron.rb
) -
The popular update framework Sparkle generally uses the
SUFeedURL
property inContents/Info.plist
inside.app
bundles. (Example:glyphs.rb
) -
HockeyApp URLs are of the form
https://rink.hockeyapp.net/api/2/apps/{{hexadecimal_string}}{{something_else}}
. For theappcast
, remove{{something_else}}
(ending up withhttps://rink.hockeyapp.net/api/2/apps/{{hexadecimal_string}}
. (Example:canary.rb
) -
DevMate appcasts resemble
https://updates.devmate.com/{{app_bundle_id}}.xml
. (Example: screens.rb) -
Sourceforge projects follow the form
https://sourceforge.net/projects/{{project_name}}/rss
. A more specific page can be used as needed, pointing to a specific directory structure:https://sourceforge.net/projects/{{project_name}}/rss?path=/{{path_here}}
. (Example:seashore.rb
) -
An appcast can be any URL hosted by the app’s developer that changes every time a new release is out (e.g. a changelog HTML page). (Example:
razorsql.rb
)
The find_appcast
script can automatically identify some of these. You can run it with "$(brew --repository)/Library/Taps/homebrew/homebrew-cask/developer/bin/find_appcast" '{{/path/to/software.app}}'
to find the appcast
automatically.