Add commands to interact with the Apple Account of the current macOS user
Nobody has claimed this yet.
- Dominant language
- Swift
- Stars
- 12.4k
- Forks
- 299
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 1
Description
Possibly add new commands / modify existing commands to better interact with the Apple Account of the current macOS user (e.g., add --macos & --app-store options or add new commands).
account, signin, signout & some other commands work with the Apple Account in the Mac App Store, which is a separate setting from the Apple Account of the current macOS user.
Normally, the two are set to the same account, but they could be set to different accounts.
Disambiguate what accounts each command works with.
macOS user Apple Account
The macOS user Apple Account is associated with the current macOS user in System Settings/System Preferences. It can be observed:
- In Swift:
(UserDefaults.standard.persistentDomain(forName: "MobileMeAccounts")?["Accounts"] as? [[String: Any]])?.first?["AccountID"]
- From command line:
defaults read MobileMeAccounts | plutil -extract "Accounts".0."AccountID" raw -o - -
Mac App Store Apple Account
The Mac App Store Apple Account, which is when you login in the App Store app. It can be observed:
- In Swift (in macOs <= 10.12.x):
ISStoreAccount.primaryAccount.identifier
- From command line: not sure
Commands
Currently, I think that the commands, when working, have the following interactions with the macOS & MAS Apple Accounts:
- MAS
accountsigninsignout
- MAS (requires app in installed app list)
update
- MAS (requires app not in installed app list)
getinstalllucky
- Neither
helphomelistlookupopenoutdatedresetsearchselleruninstallversion
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing implementations of account, signin, signout, update, get, install, and lucky, then compare them with the MobileMeAccounts and Mac App Store account APIs described in the issue. The work is done when the commands clearly distinguish which Apple Account they use and the chosen command or options consistently interact with the intended account.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- macos, shell, swift
- Domain
- cli, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100