
Herramienta de línea de comandos que permite buscar y descargar paquetes de aplicaciones (conocidos como archivos ipa) desde la App Store de iOS
ipatool es una herramienta de línea de comandos que te permite buscar aplicaciones iOS en la App Store y descargar una copia del paquete de la aplicación, conocido como archivo ipa.

Puedes obtener la última versión de ipatool desde GitHub releases.
Puedes instalar ipatool usando Homebrew.
$ brew install ipatool
Para autenticarte con la App Store, usa el comando 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.
Para buscar aplicaciones en la App Store, usa el comando 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
Para obtener una licencia de una aplicación, usa el comando 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
Para obtener una lista de versiones disponibles de la aplicación para descargar, usa el comando 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
Para descargar una copia del archivo ipa, usa el comando 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
Para resolver un identificador de versión externa, devuelto por el comando list-versions, usa el comando 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
Nota: la herramienta se ejecuta en modo interactivo de forma predeterminada. Usa el indicador --non-interactive si se ejecuta en un entorno automatizado.
La herramienta se puede compilar usando la cadena de herramientas de Go.
$ go build -o ipatool
Las pruebas unitarias se pueden ejecutar con los siguientes comandos.
$ go generate github.com/majd/ipatool/...
$ go test -v github.com/majd/ipatool/...
IPATool se publica bajo la licencia MIT.