ipatool 完全指南:Windows、Linux、macOS 上 5 分钟完成从登录到下载 IPA
【免费下载链接】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
想在 Windows 或 Linux 电脑上拿到一个 iOS 应用的 .ipa 安装包,手机上操作并不方便。ipatool 就是为此写的 Go 语言命令行工具:在 App Store 里搜索 iOS、iPadOS、tvOS、visionOS 和 macOS 五类应用,把 .ipa 或 macOS 的 .pkg 包直接落到本地。做应用测试、版本备份,或者想在 CI 里自动拉取应用包的开发者和测试工程师,基本开箱即用,三个平台命令完全一致。
🚀 三分钟跑通:从装到下载到 IPA 落盘
第一步|准备:先把工具装到机器上
目的:拿到可执行文件。有 Go 环境(1.25+,仅编译时需要)就克隆源码编译,一条命令出二进制:
git clone https://gitcode.com/GitHub_Trending/ip/ipatool cd ipatool go build -o ipatool main.go # 生成可执行文件,加进 PATH 即可macOS 用户省事一点,直接brew install ipatool。
第二步|登录:绕不开的鉴权一步
目的:让 ipatool 以你的 Apple 账号身份访问 App Store——搜索和下载都走这条鉴权链路。
ipatool auth login -e 你的AppleID邮箱按提示输密码;开了两步验证的账号会被要求补一个验证码。登录后顺手确认一下账号状态:
ipatool auth info第三步|首次下载:先搜再下
目的:验证整条链路能跑通。搜索结果的 bundle ID 直接喂给-b:
ipatool search "微信" -l 5 # 最多返回 5 条,结果里带 bundle ID ipatool download -b com.tencent.xin -o ~/Downloads/wechat.ipa到这一步你就完成了一次完整的"登录 → 搜索 → 下载",后面的内容都是在这一圈基础上加料。
🔌 三大平台怎么装:凭据存哪儿差异最大
命令三平台完全一致,真正的差别在安装方式和登录凭据的存放位置:
| 对比项 | 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 开发库、密钥环守护进程 | 无,系统自动管理 |
各平台特有的小坑,先记这三条:
- 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。凭据读写逻辑可以看 pkg/keychain/。 - macOS:什么都不用配,钥匙串自动托管。想查它存了什么,执行
security find-generic-password -s "ipatool-auth.service"即可。
另外在 WSL 里跑 Linux 版时,密钥环依赖图形界面支持,记得确认DISPLAY环境变量已配置。
🧰 按场景找答案:你想干啥就翻哪节
下面不按命令罗列,按"你遇到什么情况"来查。所有命令都在 cmd/ 下有完整实现。
场景 1|不知道应用 ID,先搜出 bundle ID
适用情况:你只知道应用名,不知道它的标识。
ipatool search "微信" -l 5-l:返回条数,默认 5;--platform:限定搜索范围,可选iphone、ipad、appletv、visionos、macos,避免同名应用刷屏。
场景 2|想锁定某个历史版本,而不是最新版
适用情况:兼容性测试要固定版本,或想回捞旧包。先列版本,拿external-version-id:
ipatool list-versions -b com.tencent.xin ipatool download -b com.tencent.xin --external-version-id 1677862400 -o wechat_v8.0.22.ipa-b与-i(app ID)二选一,-b优先级更高;--external-version-id不指定时默认下最新版,指定了就精确锁定那一版。
场景 3|下载报需要 license,账号还没有下载许可
适用情况:App Store 拒绝直接分发该应用包(免费应用也可能需要)。先单独授权一次:
ipatool purchase -b com.tencent.xin或者干脆在下载时带上--purchase,需要时工具自动补授权,省掉一次手动操作。
场景 4|记不清账号买过哪些应用
适用情况:批量备份前想先盘点手上的应用。一条命令列出当前账号拥有的全部应用:
ipatool list-purchases场景 5|输出要给脚本或程序消费
适用情况:人工阅读之外的自动化处理。全局参数--format json把结果切成 JSON,--verbose打开详细日志排查问题:
ipatool search "Safari" --format json📈 效率进阶:批量脚本与 CI/CD 流水线
一次备份多个应用
日常要备份一堆应用时,写个循环脚本一次搞定。下面这个可直接存为~/bulk_download.sh使用:
#!/bin/bash APPS=( "com.tencent.xin" # 微信 "com.apple.mobilesafari" # Safari ) mkdir -p ~/ipa_downloads for app in "${APPS[@]}"; do ipatool download -b "$app" --purchase -o ~/ipa_downloads/$app.ipa done--purchase保证遇到没有许可的应用时自动补授权,不会中断整个循环。
塞进 Jenkins 这类流水线
ipatool 是纯命令行工具,天然适合自动化。比如在构建阶段自动拉取依赖的 IPA:
stage('Download IPA') { steps { sh 'ipatool --non-interactive download -b com.example.app -o ./app.ipa' } }--non-interactive是专为无人值守环境准备的全局参数,配合--auth-code(登录时使用)就能在 CI 里完成首次 2FA 校验。
🚑 翻车急救:高频翻车点的现象、原因与处理命令
翻车 1:认证失败,命令报认证错误
现象:搜索、下载等命令直接报认证类错误。原因是本地保存的凭据过期或被吊销,App Store 不再接受旧会话。处理:先吊销再重登。
ipatool auth revoke ipatool auth login -e 你的AppleID邮箱翻车 2:登录时要求 2FA 验证码
现象:auth login走到一半要六位验证码。原因是 Apple ID 开了双重认证,新客户端首次登录必须校验。交互式环境按提示输入即可;CI 等非交互环境用--auth-code参数传入。手机不在手边时,可以在另一台 Mac 上打开"设置 → Apple 账号 → 登录与安全",点"获取验证码":
翻车 3:下载时提示需要 license
现象:下载被拒,提示缺少下载许可。原因是该账号还没有这个应用的分发授权。处理:给下载命令加--purchase,或先单独执行ipatool purchase -b <bundle ID>。
ipatool download -b com.tencent.xin --purchase -o ~/Downloads/wechat.ipa翻车 4:下载速度很慢
现象:包不大却半天跑不完。原因是请求命中的 App Store 商店区域离你的网络链路较远。先用--verbose看日志确认卡在哪一环,再重试或换网络环境;若账号所属商店区域与所在地不符,可在 Apple 账号设置里调整商店区域后再下载。
ipatool download -b com.tencent.xin -o wechat.ipa --verbose📋 命令备忘录:一张表收口
| 命令 | 作用 | 示例 |
|---|---|---|
ipatool auth login | 登录 App Store | ipatool auth login -e 你的邮箱 |
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 / pkg | ipatool download -b com.tencent.xin -o wechat.ipa |
ipatool purchase | 获取应用授权 | ipatool purchase -b com.tencent.xin |
ipatool list-purchases | 列出账号拥有的应用 | ipatool list-purchases |
一句话收束:ipatool 把"登录 App Store → 搜索 → 查版本 → 下载/授权"串成了一套跨平台一致的命令行接口,无论你在哪台 Windows、Linux 还是 macOS 机器上,姿势都相同。建议用ipatool --version检查当前版本、定期更新源码拿新功能;遇到 bug 走项目 issue 反馈,也欢迎直接读 pkg/appstore/ 的源码参与贡献。
【免费下载链接】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),仅供参考