
アプリパッケージ(ipaファイルとして知られる)をiOS App Storeから検索・ダウンロードできるコマンドラインツール
ipatool は、App Store で iOS アプリを検索し、ipa ファイルとして知られるアプリパッケージのコピーをダウンロードできるコマンドラインツールです。

ipatool の最新バージョンは GitHub リリース から入手できます。
ipatool は Homebrew を使用してインストールできます。
$ brew install ipatool
App Store で認証するには、auth コマンドを使用します。
Authenticate with the App Store
Usage:
ipatool auth [command]
Available Commands:
info Show current account info
login Login to the App Store
revoke Revoke your App Store credentials
Flags:
-h, --help help for auth
Global Flags:
--format format sets output format for command; can be 'text', 'json' (default text)
--non-interactive run in non-interactive session
--verbose enables verbose logs
Use "ipatool auth [command] --help" for more information about a command.
App Store でアプリを検索するには、search コマンドを使用します。
Search for iOS and tvOS apps available on the App Store
Usage:
ipatool search <term> [flags]
Flags:
-h, --help help for search
-l, --limit int maximum amount of search results to retrieve (default 5)
--platform string Platform to search: iphone, ipad, or appletv
Global Flags:
--format format sets output format for command; can be 'text', 'json' (default text)
--non-interactive run in non-interactive session
--verbose enables verbose logs
アプリのライセンスを取得するには、purchase コマンドを使用します。
Obtain a license for the app from the App Store
Usage:
ipatool purchase [flags]
Flags:
-b, --bundle-identifier string Bundle identifier of the target iOS app (required)
-h, --help help for purchase
Global Flags:
--format format sets output format for command; can be 'text', 'json' (default text)
--non-interactive run in non-interactive session
--verbose enables verbose logs
ダウンロード可能なアプリバージョンの一覧を取得するには、list-versions コマンドを使用します。
List the available versions of an iOS app
Usage:
ipatool list-versions [flags]
Flags:
-i, --app-id int ID of the target iOS app (required)
-b, --bundle-identifier string The bundle identifier of the target iOS app (overrides the app ID)
-h, --help help for list-versions
Global Flags:
--format format sets output format for command; can be 'text', 'json' (default text)
--keychain-passphrase string passphrase for unlocking keychain
--non-interactive run in non-interactive session
--verbose enables verbose logs
ipa ファイルのコピーをダウンロードするには、download コマンドを使用します。
Download (encrypted) iOS and tvOS app packages from the App Store
Usage:
ipatool download [flags]
Flags:
-i, --app-id int ID of the target iOS app (required)
-b, --bundle-identifier string The bundle identifier of the target iOS app (overrides the app ID)
--external-version-id string External version identifier of the target iOS app (defaults to latest version when not specified)
-h, --help help for download
-o, --output string The destination path of the downloaded app package
--platform string Platform to download for: iphone, ipad, or appletv
--purchase Obtain a license for the app if needed
Global Flags:
--format format sets output format for command; can be 'text', 'json' (default text)
--keychain-passphrase string passphrase for unlocking keychain
--non-interactive run in non-interactive session
--verbose enables verbose logs
list-versions コマンドで返される外部バージョン識別子を解決するには、get-version-metadata コマンドを使用します。
Retrieves the metadata for a specific version of an app
Usage:
ipatool get-version-metadata [flags]
Flags:
-i, --app-id int ID of the target iOS app (required)
-b, --bundle-identifier string The bundle identifier of the target iOS app (overrides the app ID)
--external-version-id string External version identifier of the target iOS app (required)
-h, --help help for get-version-metadata
Global Flags:
--format format sets output format for command; can be 'text', 'json' (default text)
--keychain-passphrase string passphrase for unlocking keychain
--non-interactive run in non-interactive session
--verbose enables verbose logs
注: このツールはデフォルトで対話モードで動作します。自動化された環境で実行する場合は、--non-interactive フラグを使用してください。
このツールは Go ツールチェーンを使用してコンパイルできます。
$ go build -o ipatool
単体テストは次のコマンドで実行できます。
$ go generate github.com/majd/ipatool/...
$ go test -v github.com/majd/ipatool/...
IPATool は MIT ライセンス の下で公開されています。