It is non-deterministic. It complicates the UX. It should not be used.
The best ways to replace it are to:
provide tab-completion that searches the iTunes Search API for the typed text, but that replaces the typed text with an app ID.
accept deterministic bundle IDs everywhere app IDs are accepted as arguments. Also, it is more obvious that the bundle ID com.apple.iWork.Pages references Apple's Pages app than that the app ID 409201541 references that same Pages app.
If both the above are implemented. tab completion would try to complete installed app IDs when a number is typed where an app ID for an installed app would be appropriate (like for mas upgrade, but not for mas purchase), and to complete bundle IDs & to search the App Store like mas search (for commands like mas purchase) or search installed app names (for commands like mas uninstall).
Another possible associated change: tab completion could complete to bundle IDs instead of to app IDs.
In fact, bundle IDs should probably be preferred over app IDs, and we should output bundle IDs everywhere we output app IDs to facilitate everyone using bundle IDs instead of app IDs.
Remove
lucky
after providing better replacements.It is non-deterministic. It complicates the UX. It should not be used.
The best ways to replace it are to:
com.apple.iWork.Pages
references Apple's Pages app than that the app ID409201541
references that same Pages app.If both the above are implemented. tab completion would try to complete installed app IDs when a number is typed where an app ID for an installed app would be appropriate (like for
mas upgrade
, but not formas purchase
), and to complete bundle IDs & to search the App Store likemas search
(for commands likemas purchase
) or search installed app names (for commands likemas uninstall
).Another possible associated change: tab completion could complete to bundle IDs instead of to app IDs.
In fact, bundle IDs should probably be preferred over app IDs, and we should output bundle IDs everywhere we output app IDs to facilitate everyone using bundle IDs instead of app IDs.