📘

自分の使っているMacアプリケーションがSetappで配信されているかチェックするスクリプト

2023/03/13に公開

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