news 2026/9/25 13:18:02

ipatool:一条命令从 App Store 下载任意版本 IPA 和 macOS pkg 的完全指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ipatool:一条命令从 App Store 下载任意版本 IPA 和 macOS pkg 的完全指南

ipatool:一条命令从 App Store 下载任意版本 IPA 和 macOS pkg 的完全指南

【免费下载链接】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 的旧版安装包。终端里,ipatool 这个跨平台 IPA 下载工具一条命令就能串起搜索、列版本、下载全过程:直连 App Store 官方服务,不用越狱设备,任意版本都能拿,包括 App Store 页面已经不再展示的老版本。

它和老路子差在哪

ipatool 是一个 Go 命令行工具。Windows、Linux、macOS 上都能跑,可以搜索 App Store 里 iOS、iPadOS、tvOS、visionOS、macOS 五个平台的应用,下载 .ipa 或 macOS .pkg 安装包。

对比常规路径:

  • 不用越狱设备或在 Mac 上装一遍应用再翻安装包;
  • 不用去网上找旧包,再担心它被改过;
  • 用 Apple ID 登录,包直接从官方服务取回来。

唯一前置条件:一个能登录 App Store 的 Apple ID。

🚀 5 分钟跑通第一条命令

macOS 用户用 Homebrew 一条命令装好;其他平台拉源码编译,几分钟搞定:

brew install ipatool # macOS # Windows / Linux git clone https://gitcode.com/GitHub_Trending/ip/ipatool cd ipatool && go build -o ipatool main.go

拿到 ipatool 可执行文件后,第一件事是登录。这一步只做一次,凭证写入系统钥匙串,后续命令不用重复:

ipatool auth login

按提示输入 Apple ID 和密码即可;开了双重认证的账户会顺带要一次验证码。

高频任务实战

如何找到目标应用的 Bundle ID

只记得应用名字时,从搜索开始。--limit控制结果条数,默认 5 条:

ipatool search "cloud music" --limit 10 --platform iphone

列表给出每个匹配应用的名称、Bundle ID、价格等字段。记下目标应用的 Bundle ID,后面所有命令都用-b传它。

如何获取某应用的全部历史版本

App Store 页面只展示最新版,list-versions把能下的版本一次列全:

ipatool list-versions -b com.netease.cloudmusic

输出每个版本一行,行尾的数字就是下载时--external-version-id要用的 ID。搜索、列版本、下载的实现都在 pkg/appstore/,想深挖协议细节可以从这里入手。

如何下载指定版本的 IPA 或 macOS pkg

确定版本后,-o指定存放路径就能开下:

ipatool download -b com.netease.cloudmusic --external-version-id 1234567890 -o ./cloudmusic.ipa

把示例里的数字换成上一步列出的 ID。终端出现进度条,走到 100% 时 .ipa 就在指定目录里;省略--external-version-id则默认拉最新版。三个常用变体:

  • 付费应用加--purchase,工具先申请授权再开始下载;
  • 下载 macOS 应用加--platform macos,产物是 .pkg 安装包;
  • 也可以改用数字 ID 定位应用:-i 应用ID。

把重复劳动交给脚本

要批量抓一批应用包,把 Bundle ID 每行一个写进 apps.txt,循环下载:

mkdir -p ./downloads while read -r bundle; do ipatool download -b "$bundle" -o "./downloads/$bundle.ipa" done < apps.txt

跑完后 ./downloads 里一个应用一个包;要指定旧版本,给循环里的 download 命令补上--external-version-id参数即可。

CI 之类的自动化环境里没法交互输入,凭证要全程走参数:

ipatool --non-interactive auth login -e "$APPLE_ID" -p "$APPLE_ID_PASSWORD" --auth-code "$OTP"

凭证照旧存进钥匙串,同一环境里后续下载不用再登录。

卡住了先查这里

现象:之前正常的命令突然报认证错误。原因:Apple 会定期让已保存的凭证失效,令牌过期后必须重新登录。解法:先清空再重新登录:

ipatool auth revoke ipatool auth login

重新登录后,各命令恢复正常。

现象:开了双重认证的账户登录时要验证码;脚本里则打印 2FA code is required 后直接退出。原因:首次登录需要一次性 2FA 码,非交互模式不会弹出输入,只能靠参数传。解法:交互模式下按提示输入;脚本里带上参数重跑:

ipatool auth login --auth-code 123456

带上验证码重跑一次,登录即完成。

现象:Linux 上执行auth login报 keyring 相关错误,凭证存不进去。原因:保存凭证依赖系统钥匙串服务 libsecret,部分发行版默认没装。解法:先装依赖,再重新登录:

sudo apt-get install libsecret-1-0 ipatool auth login

装完重跑登录,凭证即可正常入库。

命令速查表

所有命令都支持全局参数--format json(结构化输出)和--verbose(详细日志)。

命令用途常用参数
auth login登录 App Store 并保存凭证--email、--password、--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、--platform
purchase为付费应用申请授权-b、--platform
get-version-metadata查询某个具体版本的元数据-b、--external-version-id(必填)
list-purchases列出账户已购应用--page、--max-results

最快的上手方式,是现在打开终端敲一条ipatool search <你的关键词>试试;完整参数说明与平台支持见 README.md。

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/25 13:13:59

高并发下缓存穿透与击穿的防御实践:基于Redis的封装方案

做了这么多年后端&#xff0c;缓存穿透和缓存击穿这个问题我几乎在每个高并发项目里都要重新讲一遍。最近我把这两类问题的防御逻辑统一封装成了一个可复用的工具包&#xff0c;基于Redis实现&#xff0c;核心围绕布隆过滤器、分布式锁、本地缓存和空值缓存这套组合拳。这篇就是…

作者头像 李华
网站建设 2026/9/25 13:13:48

Atlas 300V 24G部署YOLO实战:从硬件到模型转换与调优全指南

做了好几个月的边缘端目标检测项目&#xff0c;我一直想把这套完整的部署经验记录下来。正好最近看到有人问“atlas 300v 24g 是运算加速卡吗”&#xff0c;又有不少人在搜“atlas部署yolo”&#xff0c;就干脆把这块卡的定位、硬件细节、模型转换流程和实际踩坑经验全部整理成…

作者头像 李华
网站建设 2026/9/25 13:11:13

Agent Skills实战:从System Prompt膨胀到技能化编排

在AI Agent落地这件事上&#xff0c;我踩过最大的坑&#xff0c;就是“什么都想直接塞进System Prompt里”。早期做一个内部知识库问答Agent&#xff0c;功能越加越多&#xff0c;提示词从500字膨胀到3000字&#xff0c;最后模型开始答非所问&#xff0c;排错排到怀疑人生。后来…

作者头像 李华
网站建设 2026/9/25 13:06:48

AI音乐生成提示词模板库:12种风格四维框架与实战技巧

音乐生成工具用了一年多&#xff0c;从最早拿Suno瞎试&#xff0c;到后来帮朋友做短视频配乐、给播客做片头&#xff0c;踩过的坑基本能写一本小册子。最深的感受是&#xff1a;AI音乐生成的门槛不在工具&#xff0c;在提示词。同一段旋律动机&#xff0c;提示词写"轻快的…

作者头像 李华