mirror of
https://github.com/mas-cli/mas
synced 2024-11-22 03:23:08 +00:00
commit
966872b328
10 changed files with 95 additions and 118 deletions
115
.gitignore
vendored
115
.gitignore
vendored
|
@ -1,99 +1,34 @@
|
|||
# Xcode
|
||||
#
|
||||
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
|
||||
|
||||
## Build generated
|
||||
build/
|
||||
DerivedData
|
||||
|
||||
## Various settings
|
||||
*.pbxuser
|
||||
!default.pbxuser
|
||||
*.mode1v3
|
||||
!default.mode1v3
|
||||
*.mode2v3
|
||||
!default.mode2v3
|
||||
*.perspectivev3
|
||||
!default.perspectivev3
|
||||
xcuserdata
|
||||
|
||||
## Other
|
||||
*.xccheckout
|
||||
*.moved-aside
|
||||
*.xcuserstate
|
||||
*.xcscmblueprint
|
||||
*.xcarchive
|
||||
|
||||
## Obj-C/Swift specific
|
||||
*.hmap
|
||||
*.ipa
|
||||
|
||||
# Bundler
|
||||
/.rubygems/
|
||||
/bin/
|
||||
|
||||
# CocoaPods
|
||||
#
|
||||
# We recommend against adding the Pods directory to your .gitignore. However
|
||||
# you should judge for yourself, the pros and cons are mentioned at:
|
||||
# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
|
||||
#
|
||||
Pods/
|
||||
|
||||
# Carthage
|
||||
#
|
||||
# Add this line if you want to avoid checking in source code from Carthage dependencies.
|
||||
# Carthage/Checkouts
|
||||
|
||||
Carthage/Build
|
||||
|
||||
# CocoaSeeds
|
||||
!Seeds/Seedfile.lock
|
||||
Seeds/**/.git*
|
||||
Seeds/**/.swift-version
|
||||
Seeds/**/.travis.yml
|
||||
Seeds/**/*.md
|
||||
Seeds/**/Cartfile*
|
||||
Seeds/**/Carthage/
|
||||
Seeds/**/LICENSE*
|
||||
Seeds/**/Package.*
|
||||
Seeds/**/*Info.plist
|
||||
Seeds/**/*.podspec
|
||||
Seeds/**/*.xc*
|
||||
Seeds/**/Tests/
|
||||
# Commandant
|
||||
!Seeds/Commandant/Source/*.swift
|
||||
# Result
|
||||
!Seeds/Result/Result/*.swift
|
||||
Seeds/Quick
|
||||
Seeds/Nimble
|
||||
|
||||
## https://github.com/github/gitignore/blob/master/Global/OSX.gitignore
|
||||
.DS_Store
|
||||
*.mode1v3
|
||||
*.mode2v3
|
||||
*.moved-aside
|
||||
*.pbxuser
|
||||
*.perspectivev3
|
||||
*.xcarchive
|
||||
*.xccheckout
|
||||
*.xcscmblueprint
|
||||
*.xcuserstate
|
||||
*.zip
|
||||
.AppleDB
|
||||
.AppleDesktop
|
||||
.AppleDouble
|
||||
.LSOverride
|
||||
|
||||
# Icon must end with two \r
|
||||
Icon
|
||||
|
||||
|
||||
# Thumbnails
|
||||
._*
|
||||
|
||||
# Files that might appear in the root of a volume
|
||||
.DS_Store
|
||||
.DocumentRevisions-V100
|
||||
.fseventsd
|
||||
.LSOverride
|
||||
.Spotlight-V100
|
||||
.TemporaryItems
|
||||
.Trashes
|
||||
.VolumeIcon.icns
|
||||
|
||||
# Directories potentially created on remote AFP share
|
||||
.AppleDB
|
||||
.AppleDesktop
|
||||
Network Trash Folder
|
||||
Temporary Items
|
||||
._*
|
||||
.apdisk
|
||||
|
||||
# Build artifacts
|
||||
*.zip
|
||||
.envrc
|
||||
.fseventsd
|
||||
.rubygems/
|
||||
Carthage/Build
|
||||
DerivedData
|
||||
Pods/
|
||||
Temporary Items
|
||||
bin/
|
||||
build/
|
||||
xcuserdata
|
||||
|
|
|
@ -12,7 +12,26 @@ extension ISStoreAccount {
|
|||
}
|
||||
|
||||
static var primaryAccount: ISStoreAccount? {
|
||||
return CKAccountStore.shared().primaryAccount
|
||||
var account: ISStoreAccount?
|
||||
|
||||
if #available(macOS 10.13, *) {
|
||||
let group = DispatchGroup()
|
||||
group.enter()
|
||||
|
||||
let accountService: ISAccountService = ISServiceProxy.genericShared().accountService
|
||||
accountService.primaryAccount { (storeAccount: ISStoreAccount) in
|
||||
account = storeAccount
|
||||
group.leave()
|
||||
}
|
||||
|
||||
_ = group.wait(timeout: .now() + 30)
|
||||
} else {
|
||||
// macOS 10.9-10.12
|
||||
let accountStore = CKAccountStore.shared()
|
||||
account = accountStore.primaryAccount
|
||||
}
|
||||
|
||||
return account
|
||||
}
|
||||
|
||||
static func signIn(username: String, password: String, systemDialog: Bool = false) throws -> ISStoreAccount {
|
||||
|
|
|
@ -29,8 +29,9 @@ enum MASError: Error, CustomStringConvertible {
|
|||
|
||||
case .signInDisabled:
|
||||
return "The 'signin' command has been disabled on this macOS version. " +
|
||||
"Please sign into the Mac App Store app manually." +
|
||||
"\nFor more info see: " +
|
||||
"https://github.com/mas-cli/mas/pull/162"
|
||||
"https://github.com/mas-cli/mas/issues/164"
|
||||
|
||||
case .signInFailed(let error):
|
||||
if let error = error {
|
||||
|
|
|
@ -11,6 +11,6 @@
|
|||
<key>CFBundleName</key>
|
||||
<string>mas-cli</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.4.1</string>
|
||||
<string>1.4.2</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.4.1</string>
|
||||
<string>1.4.2</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>10401000</string>
|
||||
<string>10402000</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
19
CHANGELOG.md
19
CHANGELOG.md
|
@ -7,14 +7,22 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|||
|
||||
## [Unreleased]
|
||||
|
||||
- ⛔ Disable `signin` command on macOS 10.13+ #162
|
||||
- 🐛 Fix `signout` command #162
|
||||
|
||||
|
||||
## [v1.4.2] - 2018-08-12
|
||||
|
||||
- 🚏📥🙅🏻♀️ Disabled `signin` command on macOS 10.13+ #162
|
||||
- An error is immediately returned instead of crashing on newer macOS versions.
|
||||
- See #164 for updates on this issue.
|
||||
- 🐛 Fixed `signout` command #162
|
||||
- 🐛 Fixed `account` command #165
|
||||
- ✨ Added price to `search` command when `--price` flag specified #62, #148
|
||||
- 🎨 `search` output is now formatted in columns #148
|
||||
- ➖ CocoaSeeds #155
|
||||
- ➕🍫 CocoaPods (1.5.3) #155
|
||||
- 🛠 Xcode 9.4 #153
|
||||
- 🛠 Xcode 9.3 #141
|
||||
- 👷🏻♀️⚠️ Re-enable Danger #137
|
||||
- ✨ Add price to `search` command #62
|
||||
- 👷🏻♀️⚠️ Re-enabled Danger #137
|
||||
|
||||
## [v1.4.1] Stop Littering - 2018-02-18
|
||||
|
||||
|
@ -98,7 +106,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|||
## [v1.0.0] - 2015-09-20
|
||||
- Initial Release
|
||||
|
||||
[Unreleased]: https://github.com/mas-cli/mas/compare/v1.4.1...HEAD
|
||||
[Unreleased]: https://github.com/mas-cli/mas/compare/v1.4.2...HEAD
|
||||
[v1.4.2]: https://github.com/mas-cli/mas/compare/v1.4.1...v1.4.2
|
||||
[v1.4.1]: https://github.com/mas-cli/mas/compare/v1.4.0...v1.4.1
|
||||
[v1.4.0]: https://github.com/mas-cli/mas/compare/v1.3.1...v1.4.0
|
||||
[v1.3.1]: https://github.com/mas-cli/mas/compare/v1.3.0...v1.3.1
|
||||
|
|
38
README.md
38
README.md
|
@ -26,7 +26,8 @@ applications and their product identifiers.
|
|||
497799835 Xcode
|
||||
|
||||
It is possible to search for applications by name using `mas search` which
|
||||
will search the Mac App Store and return matching identifiers
|
||||
will search the Mac App Store and return matching identifiers.
|
||||
Include the `--price` flag to include prices in the result.
|
||||
|
||||
$ mas search Xcode
|
||||
497799835 Xcode
|
||||
|
@ -41,7 +42,14 @@ application identifier:
|
|||
==> Downloading PaintCode 2
|
||||
==> Installed PaintCode 2
|
||||
|
||||
> Please note that this command will not allow you to install (or even purchase) an app for the first time: it must already be in the Purchased tab of the App Store.
|
||||
If you want to install the first result that the `search` command returns, use the `lucky` command.
|
||||
|
||||
$ mas lucky twitter
|
||||
==> Downloading Twitter
|
||||
==> Installed Twitter
|
||||
|
||||
> Please note that this command will not allow you to install (or even purchase) an app for the first time:
|
||||
it must already be in the Purchased tab of the App Store.
|
||||
|
||||
Use `mas outdated` to list all applications with pending updates.
|
||||
|
||||
|
@ -49,13 +57,9 @@ Use `mas outdated` to list all applications with pending updates.
|
|||
497799835 Xcode (7.0)
|
||||
446107677 Screens VNC - Access Your Computer From Anywhere (3.6.7)
|
||||
|
||||
If you want to install the first result that the `search` command would prompt you:
|
||||
|
||||
$ mas lucky twitter
|
||||
==> Downloading Twitter
|
||||
==> Installed Twitter
|
||||
|
||||
> `mas` is only able to install/update applications that are listed in the Mac App Store itself. Use [`softwareupdate(8)`](https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man8/softwareupdate.8.html) utility for downloading system updates (like iTunes, Xcode Command Line Tools, etc)
|
||||
> `mas` is only able to install/update applications that are listed in the Mac App Store itself.
|
||||
Use [`softwareupdate(8)`](https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man8/softwareupdate.8.html)
|
||||
utility for downloading system updates (like iTunes, Xcode Command Line Tools, etc)
|
||||
|
||||
To install all pending updates run `mas upgrade`.
|
||||
|
||||
|
@ -76,16 +80,22 @@ Updates can be performed selectively by providing the app identifier(s) to
|
|||
==> Downloading Xcode
|
||||
==> Installed Xcode
|
||||
|
||||
### Signin
|
||||
|
||||
To sign into the Mac App Store for the first time run `mas signin`.
|
||||
|
||||
$ mas signin mas@example.com
|
||||
==> Signing in to Apple ID: mas@example.com
|
||||
Password:
|
||||
|
||||
> ⚠️ Due to breaking changes in the underlying API that mas uses to interact with the Mac App Store,
|
||||
> the `signin` command has been temporarily disabled on macOS 10.13+ ⛔.
|
||||
> 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):
|
||||
>
|
||||
> $ mas signin --dialog mas@example.com
|
||||
> ==> Signing in to Apple ID: mas@example.com
|
||||
|
||||
$ mas signin --dialog mas@example.com
|
||||
==> Signing in to Apple ID: mas@example.com
|
||||
|
||||
You can also embed your password in the command.
|
||||
|
||||
|
@ -96,7 +106,9 @@ Use `mas signout` to sign out from the Mac App Store.
|
|||
|
||||
## Homebrew integration
|
||||
|
||||
`mas` is integrated with [homebrew-bundle](https://github.com/Homebrew/homebrew-bundle). If `mas` is installed, and you run `brew bundle dump`, then your Mac App Store apps will be included in the Brewfile created. See the [homebrew-bundle](https://github.com/Homebrew/homebrew-bundle) docs for more details.
|
||||
`mas` is integrated with [homebrew-bundle](https://github.com/Homebrew/homebrew-bundle). If `mas` is installed, and you run `brew bundle dump`,
|
||||
then your Mac App Store apps will be included in the Brewfile created. See the [homebrew-bundle](https://github.com/Homebrew/homebrew-bundle)
|
||||
docs for more details.
|
||||
|
||||
## When something doesn't work
|
||||
|
||||
|
|
|
@ -504,7 +504,7 @@
|
|||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
CREATE_INFOPLIST_SECTION_IN_BINARY = YES;
|
||||
CURRENT_PROJECT_VERSION = 10401000;
|
||||
CURRENT_PROJECT_VERSION = 10402000;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
|
@ -570,7 +570,7 @@
|
|||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
CREATE_INFOPLIST_SECTION_IN_BINARY = YES;
|
||||
CURRENT_PROJECT_VERSION = 10401000;
|
||||
CURRENT_PROJECT_VERSION = 10402000;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
|
|
|
@ -16,9 +16,10 @@ main() {
|
|||
build
|
||||
|
||||
# If this is a tagged build we are going to release
|
||||
if [[ ! -z $TRAVIS_TAG ]]; then
|
||||
# TEMP: Generate archive on all builds
|
||||
# if [[ ! -z $TRAVIS_TAG ]]; then
|
||||
archive
|
||||
fi
|
||||
# fi
|
||||
}
|
||||
|
||||
build() {
|
||||
|
|
|
@ -13,7 +13,7 @@ echo "==> 🗜️ Compressing mas.xcarchive"
|
|||
zip -r mas.xcarchive.zip mas.xcarchive
|
||||
|
||||
echo "==> ️🗜️ Compressing binary"
|
||||
zip -j mas-cli.zip mas.xcarchive/Products/usr/local/bin/mas
|
||||
zip -j mas-cli.zip mas.xcarchive/Products/build/mas
|
||||
|
||||
echo -n "==> 🔢 SHA256: "
|
||||
shasum -a 256 mas-cli.zip
|
||||
|
|
Loading…
Reference in a new issue