iCloudへのログイン情報はユーザー設定から取得する

macOS端末でiCloudにログインしているときユーザー設定にログイン情報が保存されているためdefaultsコマンドで取得することができる。

$ defaults read MobileMeAccounts Accounts
(
    {
        AccountAlternateDSID = "";
        ...
    }
)

保存されている形式が辞書の配列のためApple ID単体で取得するにはplistbuddyコマンドを使用する。

$ /usr/libexec/plistbuddy -c 'Print Accounts:0:AccountID' ~/Library/Preferences/MobileMeAccounts.plist
17925623+naoigcat@users.noreply.github.com

同様に表示名単体も取得できる。

$ /usr/libexec/plistbuddy -c 'Print Accounts:0:DisplayName' ~/Library/Preferences/MobileMeAccounts.plist
naoigcat

App Storeへのログイン情報はmasコマンドで取得する

App StoreへはiCloudと別のApple IDでログインすることができる。

こちらはmasコマンドで取得できる。

$ mas account
17925623+naoigcat@users.noreply.github.com

ただし、macOS 12.x以降では現在動作していない(#417)。