Skip to content

Commit 966872b

Browse files
authored
Merge pull request mas-cli#165 from mas-cli/release-1.4.2
πŸ”– Release 1.4.2
2 parents 9d59cf5 + 0822951 commit 966872b

File tree

10 files changed

+92
-115
lines changed

10 files changed

+92
-115
lines changed

β€Ž.gitignore

Lines changed: 22 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -1,99 +1,34 @@
1-
# Xcode
2-
#
3-
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
4-
5-
## Build generated
6-
build/
7-
DerivedData
8-
9-
## Various settings
10-
*.pbxuser
11-
!default.pbxuser
1+
*.hmap
2+
*.ipa
123
*.mode1v3
13-
!default.mode1v3
144
*.mode2v3
15-
!default.mode2v3
5+
*.moved-aside
6+
*.pbxuser
167
*.perspectivev3
17-
!default.perspectivev3
18-
xcuserdata
19-
20-
## Other
8+
*.xcarchive
219
*.xccheckout
22-
*.moved-aside
23-
*.xcuserstate
2410
*.xcscmblueprint
25-
*.xcarchive
26-
27-
## Obj-C/Swift specific
28-
*.hmap
29-
*.ipa
30-
31-
# Bundler
32-
/.rubygems/
33-
/bin/
34-
35-
# CocoaPods
36-
#
37-
# We recommend against adding the Pods directory to your .gitignore. However
38-
# you should judge for yourself, the pros and cons are mentioned at:
39-
# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
40-
#
41-
Pods/
42-
43-
# Carthage
44-
#
45-
# Add this line if you want to avoid checking in source code from Carthage dependencies.
46-
# Carthage/Checkouts
47-
48-
Carthage/Build
49-
50-
# CocoaSeeds
51-
!Seeds/Seedfile.lock
52-
Seeds/**/.git*
53-
Seeds/**/.swift-version
54-
Seeds/**/.travis.yml
55-
Seeds/**/*.md
56-
Seeds/**/Cartfile*
57-
Seeds/**/Carthage/
58-
Seeds/**/LICENSE*
59-
Seeds/**/Package.*
60-
Seeds/**/*Info.plist
61-
Seeds/**/*.podspec
62-
Seeds/**/*.xc*
63-
Seeds/**/Tests/
64-
# Commandant
65-
!Seeds/Commandant/Source/*.swift
66-
# Result
67-
!Seeds/Result/Result/*.swift
68-
Seeds/Quick
69-
Seeds/Nimble
70-
71-
## https://github.com/github/gitignore/blob/master/Global/OSX.gitignore
72-
.DS_Store
11+
*.xcuserstate
12+
*.zip
13+
.AppleDB
14+
.AppleDesktop
7315
.AppleDouble
74-
.LSOverride
75-
76-
# Icon must end with two \r
77-
Icon
78-
79-
80-
# Thumbnails
81-
._*
82-
83-
# Files that might appear in the root of a volume
16+
.DS_Store
8417
.DocumentRevisions-V100
85-
.fseventsd
18+
.LSOverride
8619
.Spotlight-V100
8720
.TemporaryItems
8821
.Trashes
8922
.VolumeIcon.icns
90-
91-
# Directories potentially created on remote AFP share
92-
.AppleDB
93-
.AppleDesktop
94-
Network Trash Folder
95-
Temporary Items
23+
._*
9624
.apdisk
97-
98-
# Build artifacts
99-
*.zip
25+
.envrc
26+
.fseventsd
27+
.rubygems/
28+
Carthage/Build
29+
DerivedData
30+
Pods/
31+
Temporary Items
32+
bin/
33+
build/
34+
xcuserdata

β€ŽApp/AppStore/ISStoreAccount.swift

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,26 @@ extension ISStoreAccount {
1212
}
1313

1414
static var primaryAccount: ISStoreAccount? {
15-
return CKAccountStore.shared().primaryAccount
15+
var account: ISStoreAccount?
16+
17+
if #available(macOS 10.13, *) {
18+
let group = DispatchGroup()
19+
group.enter()
20+
21+
let accountService: ISAccountService = ISServiceProxy.genericShared().accountService
22+
accountService.primaryAccount { (storeAccount: ISStoreAccount) in
23+
account = storeAccount
24+
group.leave()
25+
}
26+
27+
_ = group.wait(timeout: .now() + 30)
28+
} else {
29+
// macOS 10.9-10.12
30+
let accountStore = CKAccountStore.shared()
31+
account = accountStore.primaryAccount
32+
}
33+
34+
return account
1635
}
1736

1837
static func signIn(username: String, password: String, systemDialog: Bool = false) throws -> ISStoreAccount {

β€ŽApp/MASError.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,9 @@ enum MASError: Error, CustomStringConvertible {
2929

3030
case .signInDisabled:
3131
return "The 'signin' command has been disabled on this macOS version. " +
32+
"Please sign into the Mac App Store app manually." +
3233
"\nFor more info see: " +
33-
"https://github.com/mas-cli/mas/pull/162"
34+
"https://github.com/mas-cli/mas/issues/164"
3435

3536
case .signInFailed(let error):
3637
if let error = error {

β€ŽApp/mas-cli-Info.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@
1111
<key>CFBundleName</key>
1212
<string>mas-cli</string>
1313
<key>CFBundleShortVersionString</key>
14-
<string>1.4.1</string>
14+
<string>1.4.2</string>
1515
</dict>
1616
</plist>

β€ŽAppTests/Info.plist

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
<key>CFBundlePackageType</key>
1616
<string>BNDL</string>
1717
<key>CFBundleShortVersionString</key>
18-
<string>1.4.1</string>
18+
<string>1.4.2</string>
1919
<key>CFBundleVersion</key>
20-
<string>10401000</string>
20+
<string>10402000</string>
2121
</dict>
2222
</plist>

β€ŽCHANGELOG.md

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,22 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
77

88
## [Unreleased]
99

10-
- β›” Disable `signin` command on macOS 10.13+ #162
11-
- πŸ› Fix `signout` command #162
10+
11+
12+
## [v1.4.2] - 2018-08-12
13+
14+
- 🚏πŸ“₯πŸ™…πŸ»β€β™€οΈ Disabled `signin` command on macOS 10.13+ #162
15+
- An error is immediately returned instead of crashing on newer macOS versions.
16+
- See #164 for updates on this issue.
17+
- πŸ› Fixed `signout` command #162
18+
- πŸ› Fixed `account` command #165
19+
- ✨ Added price to `search` command when `--price` flag specified #62, #148
20+
- 🎨 `search` output is now formatted in columns #148
1221
- βž– CocoaSeeds #155
1322
- βž•πŸ« CocoaPods (1.5.3) #155
1423
- πŸ›  Xcode 9.4 #153
1524
- πŸ›  Xcode 9.3 #141
16-
- πŸ‘·πŸ»β€β™€οΈβš οΈ Re-enable Danger #137
17-
- ✨ Add price to `search` command #62
25+
- πŸ‘·πŸ»β€β™€οΈβš οΈ Re-enabled Danger #137
1826

1927
## [v1.4.1] Stop Littering - 2018-02-18
2028

@@ -98,7 +106,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
98106
## [v1.0.0] - 2015-09-20
99107
- Initial Release
100108

101-
[Unreleased]: https://github.com/mas-cli/mas/compare/v1.4.1...HEAD
109+
[Unreleased]: https://github.com/mas-cli/mas/compare/v1.4.2...HEAD
110+
[v1.4.2]: https://github.com/mas-cli/mas/compare/v1.4.1...v1.4.2
102111
[v1.4.1]: https://github.com/mas-cli/mas/compare/v1.4.0...v1.4.1
103112
[v1.4.0]: https://github.com/mas-cli/mas/compare/v1.3.1...v1.4.0
104113
[v1.3.1]: https://github.com/mas-cli/mas/compare/v1.3.0...v1.3.1

β€ŽREADME.md

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ applications and their product identifiers.
2626
497799835 Xcode
2727

2828
It is possible to search for applications by name using `mas search` which
29-
will search the Mac App Store and return matching identifiers
29+
will search the Mac App Store and return matching identifiers.
30+
Include the `--price` flag to include prices in the result.
3031

3132
$ mas search Xcode
3233
497799835 Xcode
@@ -41,21 +42,24 @@ application identifier:
4142
==> Downloading PaintCode 2
4243
==> Installed PaintCode 2
4344

44-
> 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.
45+
If you want to install the first result that the `search` command returns, use the `lucky` command.
46+
47+
$ mas lucky twitter
48+
==> Downloading Twitter
49+
==> Installed Twitter
50+
51+
> Please note that this command will not allow you to install (or even purchase) an app for the first time:
52+
it must already be in the Purchased tab of the App Store.
4553

4654
Use `mas outdated` to list all applications with pending updates.
4755

4856
$ mas outdated
4957
497799835 Xcode (7.0)
5058
446107677 Screens VNC - Access Your Computer From Anywhere (3.6.7)
5159

52-
If you want to install the first result that the `search` command would prompt you:
53-
54-
$ mas lucky twitter
55-
==> Downloading Twitter
56-
==> Installed Twitter
57-
58-
> `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)
60+
> `mas` is only able to install/update applications that are listed in the Mac App Store itself.
61+
Use [`softwareupdate(8)`](https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man8/softwareupdate.8.html)
62+
utility for downloading system updates (like iTunes, Xcode Command Line Tools, etc)
5963

6064
To install all pending updates run `mas upgrade`.
6165

@@ -76,16 +80,22 @@ Updates can be performed selectively by providing the app identifier(s) to
7680
==> Downloading Xcode
7781
==> Installed Xcode
7882

83+
### Signin
84+
7985
To sign into the Mac App Store for the first time run `mas signin`.
8086

8187
$ mas signin mas@example.com
8288
==> Signing in to Apple ID: mas@example.com
8389
Password:
8490

91+
> ⚠️ Due to breaking changes in the underlying API that mas uses to interact with the Mac App Store,
92+
> the `signin` command has been temporarily disabled on macOS 10.13+ β›”.
93+
> For more information on this issue, see [#164](https://github.com/mas-cli/mas/issues/164).
94+
8595
If you experience issues signing in this way, you can ask to signin using a graphical dialog (provided by Mac App Store application):
86-
>
87-
> $ mas signin --dialog mas@example.com
88-
> ==> Signing in to Apple ID: mas@example.com
96+
97+
$ mas signin --dialog mas@example.com
98+
==> Signing in to Apple ID: mas@example.com
8999

90100
You can also embed your password in the command.
91101

@@ -96,7 +106,9 @@ Use `mas signout` to sign out from the Mac App Store.
96106

97107
## Homebrew integration
98108

99-
`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.
109+
`mas` is integrated with [homebrew-bundle](https://github.com/Homebrew/homebrew-bundle). If `mas` is installed, and you run `brew bundle dump`,
110+
then your Mac App Store apps will be included in the Brewfile created. See the [homebrew-bundle](https://github.com/Homebrew/homebrew-bundle)
111+
docs for more details.
100112

101113
## When something doesn't work
102114

β€Žmas-cli.xcodeproj/project.pbxproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -504,7 +504,7 @@
504504
CLANG_WARN_UNREACHABLE_CODE = YES;
505505
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
506506
CREATE_INFOPLIST_SECTION_IN_BINARY = YES;
507-
CURRENT_PROJECT_VERSION = 10401000;
507+
CURRENT_PROJECT_VERSION = 10402000;
508508
DEBUG_INFORMATION_FORMAT = dwarf;
509509
ENABLE_STRICT_OBJC_MSGSEND = YES;
510510
ENABLE_TESTABILITY = YES;
@@ -570,7 +570,7 @@
570570
CLANG_WARN_UNREACHABLE_CODE = YES;
571571
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
572572
CREATE_INFOPLIST_SECTION_IN_BINARY = YES;
573-
CURRENT_PROJECT_VERSION = 10401000;
573+
CURRENT_PROJECT_VERSION = 10402000;
574574
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
575575
ENABLE_NS_ASSERTIONS = NO;
576576
ENABLE_STRICT_OBJC_MSGSEND = YES;

β€Žscript/build

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@ main() {
1616
build
1717

1818
# If this is a tagged build we are going to release
19-
if [[ ! -z $TRAVIS_TAG ]]; then
19+
# TEMP: Generate archive on all builds
20+
# if [[ ! -z $TRAVIS_TAG ]]; then
2021
archive
21-
fi
22+
# fi
2223
}
2324

2425
build() {

β€Žscript/package

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ echo "==> πŸ—œοΈ Compressing mas.xcarchive"
1313
zip -r mas.xcarchive.zip mas.xcarchive
1414

1515
echo "==> οΈπŸ—œοΈ Compressing binary"
16-
zip -j mas-cli.zip mas.xcarchive/Products/usr/local/bin/mas
16+
zip -j mas-cli.zip mas.xcarchive/Products/build/mas
1717

1818
echo -n "==> πŸ”’ SHA256: "
1919
shasum -a 256 mas-cli.zip

0 commit comments

Comments
Β (0)