ipatool 完整指南:在 Windows、Linux 与 macOS 上搜索并下载 IPA 的 7 个命令
【免费下载链接】ipatoolCommand-line tool that allows you to search for iOS, iPadOS, tvOS, watchOS, visionOS, and macOS apps on the App Store, and download .ipa or macOS .pkg app packages.项目地址: https://gitcode.com/GitHub_Trending/ip/ipatool
在 PC 上拿一个 .ipa 文件,通常绕不开 Mac 或 Xcode。ipatool 是一个用 Go 编写的命令行工具,能直接对 App Store 发起搜索并下载 iOS、iPadOS、tvOS、visionOS 应用的 .ipa 包和 macOS 应用的 .pkg 包,在 Windows、Linux、macOS 上都能跑。如果你需要抓应用包做测试、备份,或想在 CI 里自动化获取 IPA,它就是为此准备的。
🚀 端到端跑通:从安装到第一个 IPA 文件
整条主线只有三步,按顺序执行即可复现。
第 1 步:安装。本地装有 Go 工具链的话,从源码编译是最通用的方式(编译期需要 Go 1.16+):
git clone https://gitcode.com/GitHub_Trending/ip/ipatool cd ipatool go build -o ipatool main.go把生成的可执行文件加进 PATH 即可。macOS 用户可以直接走 Homebrew,更省事:
brew install ipatool第 2 步:登录。搜索和下载都要经过 App Store 的鉴权流程,所以登录是绕不开的一步。执行后会按提示输入 Apple ID 密码,开了双重认证的账号还需要输入一次验证码:
ipatool auth login -e your-appleid@example.com登录完成后,用这条命令确认凭据已经生效:
ipatool auth info第 3 步:搜索并下载。先用关键词把目标应用搜出来,结果里带有 bundle ID:
ipatool search "微信" -l 5再用-b传入搜到的 bundle ID,把应用包落到本地指定路径。不指定版本时默认下载最新版:
ipatool download -b com.tencent.xin -o ~/Downloads/wechat.ipa执行到这里,你已经跑通了"安装 → 登录 → 下载"的完整流程。
📖 命令手册:ipatool 的 7 个核心子命令
| 命令 | 作用 | 关键参数 | 示例 |
|---|---|---|---|
ipatool auth login | 登录 App Store | -e邮箱/手机号(必填);-p密码;--auth-code2FA 验证码 | ipatool auth login -e your-appleid@example.com |
ipatool auth info | 查看当前登录的账号信息 | — | ipatool auth info |
ipatool auth revoke | 吊销本地保存的认证凭据 | — | ipatool auth revoke |
ipatool search | 按关键词搜索应用 | 搜索词为位置参数;-l结果条数(默认 5,visionOS 最多 12);--platform限定平台 | ipatool search "微信" -l 5 |
ipatool list-versions | 列出应用的历史可用版本 | -bbundle ID 或-iapp ID(-b优先级更高) | ipatool list-versions -b com.tencent.xin |
ipatool download | 下载 .ipa / .pkg 应用包 | -bbundle ID;-o输出路径;--external-version-id指定版本;--purchase需要时自动获取授权 | ipatool download -b com.tencent.xin -o wechat.ipa |
ipatool purchase | 为已购应用获取下载许可 | -bbundle ID | ipatool purchase -b com.tencent.xin |
几个容易踩的细节:
--platform的取值在搜索、查版本、下载三处一致:iphone(iOS)、ipad(iPadOS)、appletv(tvOS)、visionos、macos。- 下载指定版本时先执行
list-versions拿到external-version-id,再传给download:
ipatool download -b com.tencent.xin --external-version-id 1677862400 -o ~/Downloads/wechat_v8.0.22.ipa- 输出默认是 text 格式,加
--format json可以拿到机器可读的结果,方便接后续脚本。 - 默认是交互式模式,会在缺失信息时提示输入;在 CI 等无终端环境里加
--non-interactive,改用参数传入邮箱、密码和 2FA 验证码。
登录、搜索、下载等核心逻辑都集中在 pkg/appstore/,凭据存取在 pkg/keychain/,想理解底层行为可以直接翻这两处源码。
🖥️ 跨平台适配:三个系统的差异一张表
命令本身在三个系统上完全一致,差异只在安装方式、凭据存放位置和额外依赖上。
| 对比项 | Windows | Linux | macOS |
|---|---|---|---|
| 系统要求 | Windows 10+ | 内核 3.10+ | macOS 10.14+ |
| 安装方式 | go build -o ipatool main.go编译 | go build编译 | 源码编译,或brew install ipatool |
| 凭据存储 | Windows 专用加密存储 | 系统密钥环(Keyring,依赖 libsecret) | 系统钥匙串(Keychain) |
| 额外依赖 | Visual C++ 运行时 | libsecret 开发库、GNOME 密钥环服务 | 无,系统自动管理 |
各平台需要留意的配置:
- Windows:确认系统装有 Visual C++ 运行时;PowerShell 中被脚本策略拦截时,执行
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser。 - Linux:先装密钥库依赖——Debian/Ubuntu 为
sudo apt-get install libsecret-1-dev,Fedora 为sudo dnf install libsecret-devel——再确认密钥环守护进程在运行:gnome-keyring-daemon --start。在 WSL 中使用则需要图形界面支持并配置好DISPLAY环境变量。 - macOS:无需额外配置。想手动检查存储的凭据,可以用
security find-generic-password -s ipatool。
📦 进阶场景:批量下载与 CI/CD 集成
批量下载脚本
日常要备份多个应用时,写个循环一次搞定即可。下面这个脚本依次下载列表中的应用并在需要时自动获取授权,可直接存为~/bulk_download.sh执行:
#!/bin/bash APPS=( "com.tencent.xin" # 微信 "com.apple.mobilesafari" # Safari ) for app in "${APPS[@]}"; do ipatool download -b "$app" --purchase -o ~/ipa_downloads/$app.ipa done--purchase保证脚本不会因为账号缺少下载许可而中断。
集成到 CI/CD
ipatool 是纯命令行工具,塞进 Jenkins 等流水线没有门槛。构建阶段自动拉取依赖的 IPA 包,只需保证 CI 环境已登录过(凭据持久化在密钥环里)并加上--non-interactive:
stage('Download IPA') { steps { sh 'ipatool download -b com.example.app -o ./app.ipa --non-interactive' } }⚠️ 问题速查:4 个高频报错怎么处理
登录或请求报认证失败原因:本地保存的凭据过期或被吊销,App Store 不再接受旧会话。 解决:先吊销旧凭据,再重新登录:
ipatool auth revoke ipatool auth login -e your-appleid@example.com登录时要求输入 2FA 验证码原因:Apple ID 开启了双重认证,首次在新客户端登录必须校验一次。 解决:交互式运行时按提示输入即可;非交互环境用--auth-code参数传入。手机不在手边时,可在 macOS 上打开"设置 → Apple 账号 → 登录与安全",通过"获取验证码"入口拿一个:
下载时提示需要 license原因:你的账号还没有该应用的下载许可,App Store 拒绝直接分发。 解决:给下载命令加--purchase,或先单独执行一次授权:
ipatool download -b com.tencent.xin --purchase -o ~/Downloads/wechat.ipa下载速度很慢原因:请求命中的 App Store 商店区域(storefront)不理想,网络链路绕远。 解决:尝试切换请求的商店区域,例如设置为美区:
export IPATOOL_STOREFRONT=143441-1,20✅ 一句话总结
ipatool 把"登录 App Store → 搜索 → 查版本 → 下载/授权"串成了一套统一的命令行接口,让你在任何一台 Windows、Linux 或 macOS 机器上用同样的姿势拿到 iOS 应用包。
命令速查:
| 命令 | 功能 | 示例 |
|---|---|---|
ipatool auth login | 登录 App Store | ipatool auth login -e your-appleid@example.com |
ipatool auth info | 查看当前登录信息 | ipatool auth info |
ipatool auth revoke | 吊销认证凭据 | ipatool auth revoke |
ipatool search | 搜索应用 | ipatool search "微信" -l 5 |
ipatool list-versions | 列出版本 | ipatool list-versions -b com.tencent.xin |
ipatool download | 下载 IPA | ipatool download -b com.tencent.xin -o wechat.ipa |
ipatool purchase | 获取应用授权 | ipatool purchase -b com.tencent.xin |
用ipatool --version检查当前版本,并定期更新源码以获取新功能(版本历史跟踪、批量应用管理等正在路上)。遇到问题可以通过项目 issue 反馈,也欢迎直接参与代码贡献。
【免费下载链接】ipatoolCommand-line tool that allows you to search for iOS, iPadOS, tvOS, watchOS, visionOS, and macOS apps on the App Store, and download .ipa or macOS .pkg app packages.项目地址: https://gitcode.com/GitHub_Trending/ip/ipatool
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考