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
在服务器或 CI 环境里要拿到一个应用的安装包,手动翻手机很不方便。ipatool 是一款跨平台的命令行工具:用 Apple ID 登录 App Store,搜索应用并直接下载 .ipa 或 macOS .pkg 安装包。适合应用测试人员、逆向工程师和想把应用下载写进脚本的开发者。
开始之前:三步完成安装
ipatool 支持 Windows、Linux 和 macOS,前置条件只有两个:一个能登录 App Store 的 Apple ID;如果走源码编译,本地装好 Go 工具链。macOS 上最短的安装路径是 Homebrew:brew install ipatool。其他平台建议直接源码编译,三条命令:
git clone https://gitcode.com/GitHub_Trending/ip/ipatool cd ipatool go build -o ipatool也可以从项目的 release 页面获取对应平台的预编译二进制,免编译。
第一次跑通:从登录到下载第一个 IPA
装好后按顺序执行三条命令。第一条登录 App Store,会交互式提示输入 Apple ID 密码,账户开了双因素认证时还需要验证码,凭证随后存入系统钥匙串(系统级安全存储),后续命令免重复登录。第二条搜索微信,输出里带有每个应用的 bundle 标识符,它就是后面所有命令的定位参数。第三条把最新版本拉到本地 wechat.ipa。
ipatool auth login ipatool search "微信" --limit 3 ipatool download -b <搜索结果中的 bundle 标识符> -o wechat.ipa常见任务怎么做
搜索应用并确认 bundle 标识符
目标:找到目标应用并拿到它的 bundle 标识符(应用唯一 ID,下载、列版本都要用它)。用--platform按平台过滤,可选值 iphone、ipad、appletv、visionos、macos;--format json把结果变成结构化输出,方便脚本解析。
ipatool search "微信" --platform iphone --limit 5 ipatool search "微信" --platform iphone --format json列出应用的可下载版本
目标:下载旧版本前,确认商店还保留哪些版本。-b传 bundle 标识符(或用-i传应用 ID),返回的版本列表里带有 external-version-id(版本外部标识),再配合get-version-metadata可查单个版本的详细元数据。
ipatool list-versions -b com.tencent.xin下载指定版本
目标:不只要最新版,还要某个历史版本。给 download 加上--external-version-id参数即可,省略该参数时默认拉最新版本。
ipatool download -b com.tencent.xin --external-version-id <版本号> -o wechat.ipa下载付费应用
目标:付费应用需要先让账户持有有效授权才能下载。加--purchase标志会自动补授权再下载,也可以先单独执行purchase拿授权。下载 macOS 应用时加--platform macos,产物是 .pkg 安装包。
ipatool download -b com.example.paidapp --purchase -o paid.ipa想更进一步:接入自动化
所有命令都支持两个全局参数:--non-interactive关闭交互式提示,CI 环境必须带上;--format json把输出改成结构化 JSON。若钥匙串中凭证处于锁定状态,用--keychain-passphrase传入解锁口令。一条典型的定时任务:按关键词搜索、解析 json 取 bundle 标识符、下载指定版本归档,还可以顺手用list-purchases盘点账户里已购的应用。
卡住了怎么办
认证失败或残留旧账户先用ipatool auth revoke清掉本地凭证,再执行ipatool auth login重新登录。账户开了双因素认证时,需要到 Apple 账户的“登录与安全”页面获取六位验证码并在登录时填入。
下载失败、疑似缺少授权付费应用没有授权就下不下来,给 download 命令加--purchase自动补授权即可。
搜索结果不符合预期检查--platform取值是否正确;注意 visionos 平台的搜索结果上限为 12 条。
速查
| 命令 | 作用 | 说明 |
|---|---|---|
| ipatool auth login | 登录 App Store | 凭证存入系统钥匙串 |
| ipatool auth revoke | 撤销本地认证 | 认证卡住时清凭证后重登 |
| ipatool search | 搜索应用 | --platform 选平台,--format json 供脚本 |
| ipatool list-versions | 列出应用可用版本 | -b 传 bundle 标识符或 -i 传应用 ID |
| ipatool get-version-metadata | 查询单个版本详情 | 搭配 --external-version-id 使用 |
| ipatool download | 下载 IPA 或 pkg | --purchase 为付费应用自动补授权 |
| ipatool purchase | 获取应用授权 | 付费应用的前置步骤 |
| ipatool list-purchases | 列出账户已购应用 | -p 翻页,-l 控制每页条数 |
ipatool 适合 iOS 测试人员、逆向工程师和需要把应用包下载接入 CI 的开发者。建议先在本机跑一遍“登录、搜索、下载”的完整流程,再用--format json把输出接进自己的脚本。
【免费下载链接】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),仅供参考