App StoreのiOSアプリをコマンドラインで検索・ダウンロードできるツール「ipatool」入門

タグ GitHubオープンソースmajdipatool

このソフトで何ができる?

「ipatool」は、App StoreにあるiOSアプリをコマンドライン(黒い画面)から検索したり、IPAファイルと呼ばれるアプリの本体ファイルをダウンロードしたりできるツールです。Apple IDでログインするだけで、App Storeのアプリを手元のパソコンに保存できます。Windows・Linux・macOSの3つのOSで動作します。

どんな人におすすめ?

以下のような場面で特に役立ちます。

  • アプリ開発者・テスター:自分や他社のアプリの特定バージョンを手元に保存しておきたいとき
  • バックアップを取りたい人:お気に入りのアプリが将来App Storeから消えてしまう前に手元に残しておきたいとき
  • セキュリティ研究者:iOSアプリの中身を調べる必要があるとき(自分が権利を持つアプリに限ります)
  • 自動化が好きなエンジニア:スクリプトやCI/CDに組み込んでアプリ取得を自動化したいとき

マウス操作が苦手な方や、繰り返し作業をコマンドで効率化したい方にも向いています。

インストール方法

macOSの場合(Homebrewを使う方法)

Homebrewというパッケージ管理ツールがあれば、以下の1行でインストールできます。

brew install ipatool

Goがインストールされている場合

Go言語の開発環境があれば、次のコマンドでもインストールできます。

go install github.com/majd/ipatool@latest

手動インストール

上記の方法が使えない場合は、GitHubのリリースページから自分のOSに合ったファイルをダウンロードして、パスの通った場所に置くだけで使えます。

インストールできたか確認するには、以下を実行します。

ipatool --help

バージョン情報やコマンド一覧が表示されれば成功です。

基本的な使い方

Step 1:Apple IDでログインする

まずApp Storeへのログインが必要です。

ipatool auth login --email あなたの[email protected]

実行するとパスワードを聞かれるので入力します。2ファクタ認証を使っている場合は、コードの入力も求められます。

ログイン状態を確認したいときは以下を使います。

ipatool auth info

Step 2:アプリを検索する

「YouTube」を検索する例です。

ipatool search "YouTube" --limit 3

実行すると以下のように結果が表示されます。

+----+-----------+-------------------------+--------------------------------+
| ## | App ID    | Bundle ID               | Name                           |
+----+-----------+-------------------------+--------------------------------+
|  1 | 544007664 | com.google.ios.youtube  | YouTube                        |
|  2 | 1476376905| com.google.ios.ytmusic  | YouTube Music                  |
|  3 | 1385614557| com.google.ios.ytstudio | YouTube Studio                 |
+----+-----------+-------------------------+--------------------------------+

アプリ名、App ID、Bundle IDが一覧で確認できます。

Step 3:ライセンスを取得する(無料アプリも必要)

ダウンロード前に、対象アプリのライセンスを自分のApple IDに紐付ける必要があります。

ipatool purchase --bundle-identifier com.google.ios.youtube

Step 4:IPAファイルをダウンロードする

ipatool download --bundle-identifier com.google.ios.youtube --output ./youtube.ipa

--outputでファイルの保存先と名前を指定できます。実行が完了すると、指定したフォルダにIPAファイルが保存されます。

特定バージョンのダウンロード

利用可能なバージョン一覧を確認することもできます。

ipatool list-versions --bundle-identifier com.google.ios.youtube

活用アイデア

1. 定期的なアプリバックアップの自動化

シェルスクリプトとcronを組み合わせれば、大切なアプリを定期的に自動保存できます。

#!/bin/bash
ipatool download --bundle-identifier com.example.app --output ~/backups/app_$(date +%Y%m%d).ipa

2. JSON形式で出力してスクリプト処理に活用

--format jsonオプションを付けると、出力をJSON形式にできます。

ipatool search "メモ" --limit 10 --format json

これにより、jqなどのツールと組み合わせてアプリ情報を自動処理するスクリプトが書きやすくなります。

3. CI/CD環境でのアプリ取得自動化

--non-interactiveフラグを使うと、対話的な入力なしにコマンドを実行できます。GitHub ActionsやJenkinsなどの自動化環境でも安全に動作します。

ipatool download \
  --bundle-identifier com.example.app \
  --output ./app.ipa \
  --non-interactive

4. 複数アプリのまとめてダウンロード

Bundle IDのリストをファイルに書いておき、ループで一括ダウンロードする使い方もできます。

while IFS= read -r bundle_id; do
  ipatool download --bundle-identifier "$bundle_id" --output "./${bundle_id}.ipa"
done < app_list.txt

まとめ

「ipatool」は、App StoreのiOSアプリをコマンドラインから手軽に操作できる便利なツールです。GUIを使わずにアプリの検索・取得・バックアップを行えるため、開発者や自動化が好きなエンジニアにとって特に頼りになる存在です。

macOSならbrew install ipatoolの1行で導入できる手軽さも魅力です。Apple IDとApp Storeの利用規約を守りながら、ぜひ自分のワークフローに取り入れてみてください。