
iOS App Store에서 앱 패키지(ipa 파일이라고도 함)를 검색하고 다운로드할 수 있는 명령줄 도구
ipatool은 App Store에서 iOS 앱을 검색하고 ipa 파일로 알려진 앱 패키지 사본을 다운로드할 수 있는 명령줄 도구입니다.

ipatool의 최신 버전은 GitHub releases에서 받을 수 있습니다.
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 라이선스로 배포됩니다.