📘
自分の使っているMacアプリケーションがSetappで配信されているかチェックするスクリプト
Setappでリストされているアプリケーションを既に自分が使っているのなら利用する動機になるかなと思い調べた。
curl -s "https://setapp.com/ajax/applications?format=json&offset=1" \
| jq '.[].bundle_id' \
| sed -E "s/-setapp|-mas//" \
| xargs -I $ grep '$' /Applications/*.app/Contents/Info.plist \
| sed -e 's/\t.*//g' \
| sort | uniq
このワンライナーは、Setappに登録されているアプリケーションのバンドルIDをAPIで取得し、その中からプレフィックスを削除して、Macの/Applicationsディレクトリ内のアプリケーション名を検索する。
jqコマンドに依存している
brew install jq
実行例
自分の環境では4つのアプリケーションを利用していたことが分かった。
❯ curl -s "https://setapp.com/ajax/applications?format=json&offset=1" | jq '.[].bundle_id' | sed -E "s/-setapp|-mas//" | xargs -I $ grep '$' /Applications/*.app/Contents/Info.plist | sed -e 's/\t.*//g' | sort | uniq
/Applications/CleanMyMac.app/Contents/Info.plist:
/Applications/MindNode.app/Contents/Info.plist:
/Applications/RapidAPI.app/Contents/Info.plist:
/Applications/TablePlus.app/Contents/Info.plist:
Discussion