ipatool 下载器使用指南:如何 4 步从 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 应用下载器,让你在终端搜索并下载 iOS、iPadOS、tvOS、visionOS 和 macOS 应用的 IPA / PKG 安装包,适合想备份应用、对比版本或批量获取应用包的开发者与用户。
🚀 快速上手:4 步拿到第一个安装包
- 装好 ipatool:macOS 用 Homebrew 一条命令搞定,Linux / Windows 从源码构建(见下方准备清单)。
- 登录 App Store:命令会提示输入密码,开启两步验证的账号还会提示输入验证码。
- 搜索应用:在结果里找到目标应用,记下它的应用 ID。
- 下载包:用应用 ID 生成 .ipa 文件。
brew install ipatool ipatool auth login --email 你的AppleID ipatool search 微信 -l 5 ipatool download -i <应用ID> -o ~/Downloads/wechat.ipa这四行依次完成安装、登录、搜索、下载;<应用ID>换成搜索结果里显示的 ID,安装包会存到指定目录。
⚠️ 注意:登录用的是你的真实 Apple ID,该账号必须能正常使用 App Store。
📋 开始前:系统与账号准备清单
| 项目 | 要求 | 说明 |
|---|---|---|
| 操作系统 | Windows / Linux / macOS | macOS 可用 Homebrew 安装,其余系统从源码构建 |
| Apple ID | 可正常使用 App Store 的账号 | 免费与付费应用都走该账号的授权体系 |
| 两步验证 | 已开启时,可信设备需在手边 | 首次登录的验证码会发到可信设备上 |
| Go 工具链(可选) | 仅源码构建时需要 | 版本需与 go.mod 声明一致 |
从源码构建时执行:
git clone https://gitcode.com/GitHub_Trending/ip/ipatool cd ipatool go build -o ipatool这条流程把项目代码拉到本地,并编译出可独立运行的 ipatool 可执行文件。
Apple ID 开启了两步验证的话,登录前先确认能在可信设备上收到验证码:
⚠️ 注意:macOS 上登录凭据存放在系统钥匙串中,钥匙串未解锁时部分命令会失败。
📦 主任务实战:从搜索到下载
搜索应用并拿到应用 ID
ipatool search 微信 -l 10 --platform iphone每条结果都带应用 ID、名称、开发者和价格,应用 ID 是后续所有命令的入口。
卡住了怎么办:
- 没有结果:换关键词,或用
--platform切换平台(iphone / ipad / appletv / visionos / macos); - visionOS 平台搜索结果上限为 12 条,
-l最多传 12; - 想让脚本处理结果,追加
--format json输出结构化数据。
怎么为应用获取下载许可
免费应用也需要账号先拿到"许可",单独操作时执行:
ipatool purchase -i <应用ID> --platform iphone这条命令向 App Store 申请该应用的下载许可,许可会绑定到你的账号上。
卡住了怎么办:下载时报 license is required,说明账号还没有许可,先跑一遍上面的 purchase;或者在下载命令后直接加--purchase,工具遇到缺许可时会自动补申请。
⚠️ 注意:付费应用会触发真实的 App Store 订单,按账号绑定的支付方式扣款。
下载 IPA 或 PKG 安装包
ipatool download -i <应用ID> -o ~/Downloads/app.ipa交互模式下会显示下载进度条,-o指定保存路径;不想用应用 ID 时可以改用 bundle 标识符:ipatool download -b com.example.app -o app.ipa,后者优先级更高。
卡住了怎么办:下载中途出现密码令牌过期的提示时,工具会自动重新登录并重试;反复失败就重新执行ipatool auth login。
怎么下载指定历史版本
ipatool list-versions -i <应用ID> ipatool download -i <应用ID> --external-version-id <版本标识> -o old.ipa第一条命令列出该应用可下载的全部版本,返回外部版本标识;第二条用其中某个标识下载对应版本。不指定版本时默认下最新版,还可以用ipatool get-version-metadata查询单个版本的详细元数据。
管理登录状态与已购列表
ipatool auth info:查看当前登录账号的名称与邮箱,用来确认登录状态;ipatool list-purchases -l 20:按购买时间倒序列出账号已拥有的应用;ipatool auth revoke:吊销当前账号的 App Store 凭据,换机器或不再使用时执行它清理。
🔧 进阶组合:3 个真实场景
场景 1:下载 macOS 应用安装包
ipatool download -i <应用ID> --platform macos -o /tmp/app.pkg--platform macos拉取 macOS 版本,产物是 .pkg 安装包,下载完成后工具会自动把授权签名写入包内,装到 Mac 上即可直接安装。
场景 2:脚本批量下载
for id in 1000000001 1000000002; do ipatool download -i "$id" -o "app_$id.ipa" --non-interactive done把循环里的 ID 换成搜索得到的真实应用 ID;--non-interactive关闭交互输出,适合放进定时任务或 CI 流水线跑。
场景 3:把搜索结果交给其他工具
执行ipatool search 微信 --format json输出结构化 JSON,随后用任意脚本语言解析出应用 ID 和名称,接进自己的自动化流程即可。
🩹 排错速查:高频报错对照表
| 现象 / 报错 | 原因 | 处理办法 |
|---|---|---|
| either the app ID or the bundle identifier must be specified | download / purchase 没给-i或-b | 补上搜索结果里的应用 ID 或 bundle 标识符 |
| password is required when not running in interactive mode | 登录时带了--non-interactive | 追加--password参数 |
| 提示 enter 2FA code 后登录失败 | 账号开启两步验证 | 立刻在可信设备取验证码输入;非交互模式用--auth-code |
| license is required | 账号没有该应用的许可 | 先执行 purchase,或给 download 加--purchase |
| 用了一段时间后命令报令牌失效 | 密码令牌过期 | 工具会自动重登录,仍失败则重新执行 auth login |
| macOS 上出现钥匙串相关错误 | 系统钥匙串被锁定 | 解锁钥匙串,或用--keychain-passphrase传入解锁密码 |
⚙️ 工作原理:一段话讲清楚
ipatool 模拟的是 iOS / macOS 设备与 App Store 服务器之间的官方通信流程:先用 Apple ID 登录拿到密码令牌(类似一张一次性的临时通行证),再凭它调用搜索、购买、下载接口。IPA 是把应用打成 zip 结构的应用安装包;下载完成后,工具还会把 App Store 返回的授权签名(SINF,安装时设备用它校验包是否合法)写回包内,所以你拿到的 .ipa / .pkg 是完整可安装的包。
✅ 收尾自检清单
ipatool auth info能显示你的 Apple ID 名称与邮箱ipatool search 微信至少返回一条结果- 目标目录生成了 .ipa 或 .pkg 文件
- 需要旧版本时,知道用 list-versions 拿版本标识再下载
- 开启两步验证时,可信设备能正常收到验证码
- 使用完账号后,会执行
ipatool auth revoke吊销凭据
【免费下载链接】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),仅供参考