There are numerous problems with the integration with the iTunes Search API.
Add & use Entity.desktopSoftware instead of macSoftware. Former returns info (including version & description) that aligns with what is displayed in the App Store, while latter is at least sometimes out of alignment. Latter also seems to return any software that can run on a Mac (e.g., iOS, iPadOS, etc. software for Apple Silicon), seeming to default to iOS info. Probably better to get versions for each platform separately so we know what's for what platform.
Add media=software query item to lookup URL to improve results.
Refactor StoreSearch.lookup(…) & StoreSearch.search(…) to share implementation, which deduplicates code & allows lookup to accept an Entity argument to get an app version for a specific platform instead of being hardcoded to desktopSoftware. Will help allow flags in the future to specify what platforms to check for apps.
mas version
: 1.8.6mas Install Method
brew install mas
(homebrew-core)Describe the Bug
There are numerous problems with the integration with the iTunes Search API.
Entity.desktopSoftware
instead ofmacSoftware
. Former returns info (including version & description) that aligns with what is displayed in the App Store, while latter is at least sometimes out of alignment. Latter also seems to return any software that can run on a Mac (e.g., iOS, iPadOS, etc. software for Apple Silicon), seeming to default to iOS info. Probably better to get versions for each platform separately so we know what's for what platform.media=software
query item to lookup URL to improve results.StoreSearch.lookup(…)
&StoreSearch.search(…)
to share implementation, which deduplicates code & allows lookup to accept anEntity
argument to get an app version for a specific platform instead of being hardcoded todesktopSoftware
. Will help allow flags in the future to specify what platforms to check for apps.