ipatool 教程:一条命令从 App Store 下载任意版本 .ipa(完整指南)
【免费下载链接】ipatoolCommand-line tool that allows you to search for iOS, iPadOS, tvOS, visionOS, and macOS apps on the App Store, and download .ipa or macOS .pkg app packages.项目地址: https://gitcode.com/GitHub_Trending/ip/ipatool
ipatool 是一款跨平台的 App Store 命令行工具。在 Windows、Linux、macOS 上搜索 iOS、iPadOS、tvOS、visionOS 及 macOS 应用,并直接下载 .ipa 或 macOS .pkg 安装包。适合需要做兼容性测试、逆向分析、应用收藏的开发者。
为什么不走越狱或 iTunes 取包这条路
旧路线每一步都可能卡住:要么让设备越狱,要么在 Mac 上装一遍 iTunes 再把应用装进设备、进容器翻安装包。想要旧版本更难,App Store 页面只展示最新版,旧包只能去网上找,来源还不可控。ipatool 换了思路:直连 App Store 官方服务,不越狱、不依赖本机设备,指定哪个版本就拉哪个版本。
🚀 三步跑起来:编译、登录、查应用
1. 安装
源码全平台通用,用 Go 工具链编译即可;macOS 也可以走 Homebrew 直接装。
git clone https://gitcode.com/GitHub_Trending/ip/ipatool cd ipatool go build -o ipatool main.go2. 登录 App Store
运行后按提示输入 Apple ID 和密码,凭证会写入系统钥匙串,之后的命令不用再登。
./ipatool auth login3. 跑第一条搜索
拿一个关键词试水,输出里包含名称、Bundle ID 和价格,记下 Bundle ID,后面-b参数就靠它。
./ipatool search "weather"从版本列表到指定版本下载
搜索、查版本、下载三段逻辑都实现在 pkg/appstore/ 目录里,想深入看代码从这里入手。
列出 App Store 应用的全部旧版本
需求:兼容性测试要某个特定旧版本,但商店页面只显示最新版。
./ipatool list-versions -b com.tencent.xin结果:每行输出一个可下载版本,带版本号与对应的 external-version-id,下载时用它定位。
把指定版本的 ipa 下载到本地指定路径
需求:版本已选定,需要把包存到固定位置供后续安装或分析。
./ipatool download -b com.tencent.xin --external-version-id 1677862400 -o wechat.ipa结果:终端显示进度条,跑到 100% 时 wechat.ipa 就落在指定路径。
付费应用下载前的授权申请
需求:付费应用无法直接下载,要先拿到许可。
./ipatool purchase -b com.example.app结果:工具向 App Store 申请到授权后,再执行 download 即可正常取包;也可以在 download 上直接加--purchase一步完成。
用 jq 二次处理与批量下载脚本
所有命令都支持--format json输出结构化结果,配合 jq 提取字段很顺手。
./ipatool search "news" --format json | jq -r '.apps[].name'输出每行一个应用名,可以直接喂给后续脚本做筛选、比对。
需要一次抓一批包时,把 Bundle ID 排成列表循环执行:
for app in com.tencent.xin com.zhihu.ios; do echo "正在下载 $app" ./ipatool download -b $app -o ./downloads/$app.ipa done跑完一轮,所有安装包都会出现在 ./downloads 里。
🔧 三个高频报错及修复方法
问:登录失败,或之前正常的命令突然报认证错误?原因:Apple 会定期让已保存的凭证失效;开了双重认证的账户还需要一次性验证码。先撤销旧凭证,再重新登录,按提示输入验证码即可。
./ipatool auth revoke ./ipatool auth login双重认证验证码可以在 macOS 的「登录与安全性」设置里获取,参考下图红框位置:
问:大型应用下载慢,进度条走得艰难?原因:单个 IPA 动辄几个 GB,单连接下载受带宽上限约束。把它丢到后台跑,不用卡着终端等。
nohup ./ipatool download -b com.tencent.xin -o wechat.ipa &问:Linux 上执行 auth login 报 keyring 相关错误?原因:凭证保存依赖系统钥匙串服务 libsecret,部分发行版默认没装。补装依赖后重新登录。
sudo apt-get install libsecret-1-dev ./ipatool auth login全部命令与参数速查表
| 命令 | 说明 | 关键参数 |
|---|---|---|
auth login | 登录 App Store 并保存凭证 | --non-interactive、--email、--auth-code |
auth info | 查看当前账户信息 | — |
auth revoke | 撤销已保存的凭证 | — |
search | 搜索 App Store 应用 | --limit、--platform |
list-versions | 列出全部可下载版本 | -b/-i |
download | 下载 .ipa 或 macOS .pkg 安装包 | -b、-o、--external-version-id、--purchase |
purchase | 为付费应用获取授权 | -b、--platform |
get-version-metadata | 查询某个具体版本的元数据 | -b、--external-version-id |
ipatool 的价值在于把「搜索—查版本—下载」整条链路压进一条命令行,任意旧版本都能从官方渠道直接取到。更多细节见 项目 README。
【免费下载链接】ipatoolCommand-line tool that allows you to search for iOS, iPadOS, tvOS, 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),仅供参考