如何用 ipatool 零配置从 App Store 下载 IPA
2026/9/15 11:31:14 网站建设 项目流程

如何用 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

你被安排做一个旧版本 App 的兼容性测试,公司电脑装不了 Xcode,iTunes 也不给你想抓的 IPA 下载入口。ipatool 解决的就是这件事:一条命令行登录你的 Apple ID,就能把 App Store 里指定版本的 IPA 拉到本地,不用装任何 Apple 开发工具。

ipatool 是一个 Go 写的命令行工具,专门搜索 iOS、iPadOS、tvOS、visionOS 和 macOS 的 App 并下载.ipa.pkg安装包。它不管装到手机上那一步——下载到的包要往真机或模拟器里塞,还得配合别的工具,它只负责把包给你弄到手。

先把它装上

macOS 用户直接用 Homebrew,一条命令的事:

brew install ipatool

其他平台从官方 Release 页拿预编译二进制,或者 clone 仓库(https://gitcode.com/GitHub_Trending/ip/ipatool)后go build -o ipatool自己编译,Go 版本要求 1.25+。

装没装好,30 秒验证一下,能看到版本号和帮助信息就算通过了:

ipatool --version ipatool --help

📦 搜、下、管版本:按你的目标走

搜索 App Store 应用拿到 App ID

后面下载和查版本都要靠 App ID 或 Bundle Identifier 定位应用,先搜一下:

ipatool search "微信" --limit 10

结果里每条都有 App ID、名称、版本和 Bundle ID。想拿机器能直接解析的结果,全局加--format json,输出就是结构化 JSON。

--limit控制返回条数,默认 5;visionOS 平台上限是 12。

登录 Apple ID 完成 App Store 认证

第一次用必须认证,流程就像你第一次连 Wi-Fi 输密码——凭据存进系统 keychain 后,之后所有命令都自动复用(存储逻辑见 pkg/keychain/):

ipatool auth login -e your_apple_id@icloud.com

回车后按提示输入密码,开了双重认证的账号还会要一次验证码。首次登录可能要走几分钟,看到账号信息显示成功就完事了。想确认当前状态跑ipatool auth info,换号或注销跑ipatool auth login重新登录或ipatool auth revoke

脚本或 CI 环境里没人交互,改用--password--auth-code把凭据直接传进去:

ipatool auth login -e your_apple_id@icloud.com \ --password "$APPLE_ID_PASSWORD" --auth-code "$TFA_CODE" --non-interactive

非交互模式下--password是必填项,漏了会直接报错退出。

三步拿到指定版本的 IPA 包

认证完成后,IPA 下载只需要一条命令。用 App ID 或 Bundle Identifier 任选其一:

ipatool download -b com.tencent.xin -o ~/Downloads/wechat.ipa

不加版本参数默认拉最新版。要拉旧版,先用list-versions查历史版本,拿到external-version-id再指定:

ipatool list-versions -b com.tencent.xin ipatool download -b com.tencent.xin \ --external-version-id "1234567890" -o ~/Downloads/wechat-old.ipa

--platform macos下载的是.pkg而不是.ipa;付费应用要补--purchase,工具会自动替你获取下载授权,交互确认环节用--non-interactive跳过。

写脚本批量下载多个 App

所有命令都支持--format json输出,配合jq就能串成自动化流程,App Store 的交互细节封装在 pkg/appstore/ 里,脚本层面不用关心。

🛠️ 组合拳:自动归档一个 App 的全部历史版本

把上面三个能力串起来,这个脚本可以把你账号里搜到的某个 App 的所有历史版本全拉到本地归档:

#!/bin/bash APP="com.tencent.xin" DIR=~/AppArchives/$(echo "$APP" | cut -d. -f3) mkdir -p "$DIR" # 登录,凭据已存 keychain 时秒过 ipatool auth login -e "$APPLE_ID" --password "$APPLE_ID_PASSWORD" --non-interactive ipatool auth info # 列出全部历史版本,逐个下载 for v in $(ipatool list-versions -b "$APP" --format json \ | jq -r '.externalVersionIdentifiers[].id'); do ipatool download -b "$APP" --external-version-id "$v" \ -o "$DIR/$APP-$v.ipa" done

跑完$DIR下就是一排带版本号命名的 IPA,测试同学要哪个版本拿哪个,不用再问你要。

排错速查

症状最可能原因一条解决命令
命令报 2FA code is required账号开了双重认证但没给验证码ipatool auth login -e <email> --password <pwd> --auth-code <6位码>
下载报需要 license该账号没这个 App 的下载授权ipatool download -b <bundle-id> --purchase
偶发认证过期、重跑就好了密码 token 有时效,工具会自动重登ipatool auth login -e <email>重新登录一次
提示 keychain 锁无法访问系统钥匙串要解锁密码加全局参数--keychain-passphrase <你的密码>

装好后,旧版 IPA 一条命令就能落到本地目录,兼容性测试的物料问题到此为止。参数细节和更多命令看仓库 README,遇到怪问题直接去 issue 区翻一翻或开一单。

【免费下载链接】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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询