Support automation for Mac App Store installations/updates
| Originator: | tim | ||
| Number: | rdar://25828708 | Date Originated: | 20-Apr-2016 09:56 AM |
| Status: | Open | Resolved: | |
| Product: | OS X | Product Version: | 10.12 |
| Classification: | Feature (New) | Reproducible: | Always |
Summary: The Mac App Store can currently only be interacted with manually. It would be nice if there were a command-line tool, Automator framework or API that supported automating the installations and updates of apps. Open-source tools now exist (see https://github.com/argon/mas) which can only make use of private frameworks to do this, and it would be much better if there were an officially-supported tool rather than one that depends on internal implementations, and could potentially cause system instability or confusing the state of the various MAS store frameworks and daemons. Steps to Reproduce: There is no way to drive the installation of Mac App store apps through the command line. Expected Results: A basic tool that is able to able to perform a few basic operations with the MAS store. Here's a very simple example from the https://github.com/argon/mas project: $ mas search Xcode 497799835 Xcode 688199928 Docs for Xcode $ mas install 497799835 ==> Downloading Xcode ==> Installed Xcode Actual Results: No such tool exists. Notes: This would be helpful for 1) scenarios where one is setting up a new Mac and wants a simple way to automatically get all of their software installed, and 2) automated testing and software build infrastructure. For example, systems that various companies have built for doing continuous integration as part of their iOS/Mac development could greatly benefit from being able to automatically retrieve the current OS X installer app, Server, Apple Configurator, Xcode, etc. as part of a setup or build script. The popular Homebrew project supports supplying a list of items to install so that one can automate installing all of his/her development tools, and the Homebrew maintainers are aiming to include the `mas` tool linked above as part of the core repository to bring the same functionality for App Store Apps. See this GitHub pull request for more details: https://github.com/argon/mas/issues/21 I find it worrisome that a developer tool with the widespread popularity of Homebrew would move to supporting as part of its core tooling a CLI tool that relies only on private frameworks. This seems fragile, and it would certainly be more supportable if Apple included a CLI tool that is able to perform the actions of at least installing and updating apps, the basic functionality provided by the App Store GUI app. I realize that this is more complicated by the requirement of signing in as a user to perform these actions, but since it's possible for the App Store GUI app to manage this it should be also possible to sign in via the CLI (interactively or via command flags) and have this sign-in status persist for some time as it does with the GUI app.
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!
Agreed! For the record, there is a command-line tool (softwareupdate) that allows you to automate the installation of the system software updates that appear in the Mac App Store. It'd be great if Apple added the ability to update user-space apps from softwareupdate as well.