ipatool 完整使用指南:3步完成认证,1条命令下载 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
如果你需要直接、批量地获取 App Store 上的应用安装包,开源命令行工具ipatool是绕不开的选项:用 Apple ID 登录一次,按关键词搜索应用,随后把.ipa或 macOS 的.pkg包拉到本地,全程 3 步、分钟级完成。下面这份指南带你从零配置到实战排错,看完即可上手。
1 能力速览:1个二进制,跑通"搜索→购买→下载"全链路
- 五大平台覆盖📌:搜索与下载支持
iphone(iOS)、ipad(iPadOS)、appletv(tvOS)、visionos(visionOS)、macos五个平台,产出物是.ipa或 macOS.pkg包。 - 可直接进 CI:
--non-interactive+--format json两个全局参数即可在自动化环境里无人值守运行,无需人工交互。 - 凭据零明文:Apple ID 凭据默认存入系统钥匙串(macOS Keychain / Linux Secret Service),会话状态放在
~/.ipatool,磁盘上没有明文密码。
2 落地准备:1个 Apple ID + 2项前置检查
第 1 步:准备 Apple ID。账号需要已经配置好 App Store 使用资格;建议开启双重认证(2FA),开启后登录时会多一次 6 位验证码输入,属正常流程。
第 2 步:确认系统支持。要求 Windows、Linux 或 macOS 三选一,无其他运行时依赖(单二进制直接跑)。
第 3 步:验证命令可用。
ipatool --help能列出auth、search、purchase、download等子命令即就绪。
3 部署方式:3条路径任选其一
方案 A:Homebrew 一键安装(macOS,推荐)
brew install ipatool方案 B:预编译二进制(跨平台,最快)
从项目 Releases 页下载与你的操作系统、架构对应的压缩包,解压后直接执行,无需安装。
方案 C:源码编译(开发者 / 想要最新特性)
git clone https://gitcode.com/GitHub_Trending/ip/ipatool cd ipatool go build -o ipatool注意:go.mod声明了go 1.25.0,请准备 Go 1.25+ 工具链。
4 实战演示:4个高频场景,命令+预期效果
4.1 首次登录:3步拿到会话 🔑
ipatool auth login -e you@example.com交互式模式下提示enter password:时输入密码(不回显);若开了 2FA,随后在enter 2FA code:提示下输入设备短信/弹窗里的 6 位验证码。看到登录成功日志后,用下面命令确认账号身份:
ipatool auth info自动化环境(CI 等)改用非交互参数,把密码和验证码直接传进去:
ipatool auth login -e you@example.com -p '你的密码' --auth-code 123456 --non-interactive4.2 搜索应用:按关键词定位 App ID
ipatool search 微信 --limit 5 ipatool search WhatsApp --platform macos预期效果:返回最多--limit条(默认 5 条,visionOS 平台最多 12 条)匹配应用,结果里带有后续下载要用的App ID或 Bundle ID。
4.3 下载安装包:1条命令落地 IPA
ipatool download -i 414478124 -o ~/Downloads/ ipatool download -b com.tencent.xin --purchase -o ~/Downloads/预期效果:交互式模式下显示下载进度条,完成后.ipa保存到-o指定路径。两个实用开关:-b传Bundle ID可省略 App ID;--purchase表示"需要时自动获取该应用的许可",首次下载免费 App 时加它最省心。
4.4 版本管理:列出我的应用并锁定特定版本
ipatool list-purchases --max-results 20 --page 1 ipatool list-versions -i 414478124 ipatool get-version-metadata -i 414478124 --external-version-id <版本号ID> ipatool download -i 414478124 --external-version-id <版本号ID> -o ./wechat-old.ipa预期效果:list-purchases按购买日期倒序列出已购应用;list-versions返回该应用所有可下载版本的external version identifier;再用get-version-metadata查某个版本的具体信息,或交给download --external-version-id精确下载历史版本(不指定时默认最新版)。
5 避坑指南:5个高频报错的解法
①password is required when not running in interactive mode→ 原因:加了--non-interactive却没传密码。解决:补上-p(--password)参数。
②2FA code is required→ 原因:非交互模式下 2FA 验证码无法交互输入。解决:重跑命令并附带--auth-code 123456。
③either the app ID or the bundle identifier must be specified→ 原因:download/purchase/list-versions等命令既没给-i也没给-b。解决:两者至少提供一个,-b优先级更高。
④keychain passphrase is required when not running in interactive mode→ 原因:凭据文件需要口令解锁,而非交互模式下无法弹出输入框。解决:传全局参数--keychain-passphrase。
⑤ 首次登录特别慢→ 这是正常现象:工具在首登时会提示 "the first login may take a few minutes"。另外登录令牌过期时工具会自动重试,不必手动干预;若账号状态彻底错乱,可执行ipatool auth revoke撤销凭据,再删除本地状态目录~/.ipatool重新登录。
6 收尾:30秒回顾
ipatool = 1次auth login+ 1次search+ 1次download,即可把 App Store 应用包完整落到本地磁盘;--purchase和--external-version-id两个开关分别解决"首次购买"和"历史版本"两个进阶需求。想二次开发时,命令层看 cmd/(如 cmd/download.go),App Store 协议实现集中在 pkg/appstore/,macOS 安装包解析在 internal/sap/,MIT 协议下直接上手改。
【免费下载链接】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),仅供参考