📄 Direct all disabled command warnings to #known-issues

This commit is contained in:
Chris Araman 2021-11-03 13:48:18 -07:00
parent 02ceea49cd
commit bfed0a7605
No known key found for this signature in database
GPG key ID: BB4499D9E11B61E0
3 changed files with 30 additions and 12 deletions

View file

@ -101,6 +101,7 @@ $ mas lucky twitter
> Please note that this command will not allow you to install (or even purchase) an app for the first time: > Please note that this command will not allow you to install (or even purchase) an app for the first time:
use the `purchase` command in that case. use the `purchase` command in that case.
> ⛔ The `purchase` command is not supported as of macOS 10.15 Catalina. Please see [Known Issues](#%EF%B8%8F-known-issues).
```bash ```bash
$ mas purchase 768053424 $ mas purchase 768053424
@ -148,6 +149,8 @@ Xcode (8.0)
### 🚏📥 Sign-in ### 🚏📥 Sign-in
> ⛔ The `signin` command is not supported as of macOS 10.13 High Sierra. Please see [Known Issues](#%EF%B8%8F-known-issues).
To sign into the Mac App Store for the first time run `mas signin`. To sign into the Mac App Store for the first time run `mas signin`.
```bash ```bash
@ -156,11 +159,8 @@ $ mas signin mas@example.com
Password: Password:
``` ```
> ⚠️ Due to breaking changes in the underlying API that mas uses to interact with the Mac App Store, If you experience issues signing in this way, you can ask to sign in using a graphical dialog
> the `signin` command has been temporarily disabled on macOS 10.13+ ⛔. (provided by Mac App Store application):
> For more information on this issue, see [#164](https://github.com/mas-cli/mas/issues/164).
If you experience issues signing in this way, you can ask to signin using a graphical dialog (provided by Mac App Store application):
```bash ```bash
$ mas signin --dialog mas@example.com $ mas signin --dialog mas@example.com
@ -182,6 +182,22 @@ Use `mas signout` to sign out from the Mac App Store.
then your Mac App Store apps will be included in the Brewfile created. See the [homebrew-bundle] then your Mac App Store apps will be included in the Brewfile created. See the [homebrew-bundle]
docs for more details. docs for more details.
## ⚠️ Known Issues
Over time, Apple has changed the APIs used by `mas` to manage App Store apps, limiting its capabilities. Please sign in
or purchase apps using the App Store app instead. Subsequent redownloads can be performed with `mas install`.
- ⛔️ The `signin` command is not supported as of macOS 10.13 High Sierra. [#164](https://github.com/mas-cli/mas/issues/164)
- ⛔️ The `purchase` command is not supported as of macOS 10.15 Catalina. [#289](https://github.com/mas-cli/mas/issues/289)
- ⛔️ The `account` command is not supported as of macOS 12 Monterey. [#417](https://github.com/mas-cli/mas/issues/417)
The versions `mas` sees from the app bundles on your Mac don't always match the versions reported by the App Store for
the same app bundles. This leads to some confusion when the `outdated` and `upgrade` commands differ in behavior from
what is shown as outdated in the App Store app. Further confusing matters, there is often some delay due to CDN
propagatioon and caching between the time a new app version is released to the App Store, and the time it appears
available in the App Store app or via the `mas` command. These issues cause symptoms like
[#384](https://github.com/mas-cli/mas/issues/384) and [#387](https://github.com/mas-cli/mas/issues/387).
## 💥 When something doesn't work ## 💥 When something doesn't work
If you see this error, it's probably because you haven't installed the app through the App Store yet. If you see this error, it's probably because you haven't installed the app through the App Store yet.

View file

@ -20,7 +20,9 @@ public struct SignInCommand: CommandProtocol {
/// Runs the command. /// Runs the command.
public func run(_ options: Options) -> Result<Void, MASError> { public func run(_ options: Options) -> Result<Void, MASError> {
if #available(macOS 10.13, *) { if #available(macOS 10.13, *) {
return .failure(.signInDisabled) // Signing in is no longer possible as of High Sierra.
// https://github.com/mas-cli/mas/issues/164
return .failure(.notSupported)
} }
guard ISStoreAccount.primaryAccount == nil else { guard ISStoreAccount.primaryAccount == nil else {

View file

@ -9,8 +9,9 @@
import Foundation import Foundation
public enum MASError: Error, Equatable { public enum MASError: Error, Equatable {
case notSupported
case notSignedIn case notSignedIn
case signInDisabled
case signInFailed(error: NSError?) case signInFailed(error: NSError?)
case alreadySignedIn case alreadySignedIn
@ -38,12 +39,11 @@ extension MASError: CustomStringConvertible {
case .notSignedIn: case .notSignedIn:
return "Not signed in" return "Not signed in"
case .signInDisabled: case .notSupported:
return """ return """
The 'signin' command has been disabled on this macOS version. \ This command is not supported on this macOS version due to changes in macOS. \
Please sign into the Mac App Store app manually. For more information see: \
For more info see: \ https://github.com/mas-cli/mas#known-issues
https://github.com/mas-cli/mas/issues/164
""" """
case .signInFailed(let error): case .signInFailed(let error):