IPATool - iOS App Store 命令行下载工具

IPATool - iOS App Store 命令行下载工具

📖 项目介绍

项目地址https://github.com/majd/ipatool

IPATool 是一款开源命令行工具,允许你从 App Store 搜索和下载 iOS 应用的安装包(IPA 文件)。支持 Windows、Linux 和 macOS 全平台。

核心特性

特性 说明
🔍 应用搜索 直接在命令行搜索 App Store 应用
📥 IPA 下载 下载应用安装包到本地
📦 版本管理 查看和下载应用的历史版本
🔐 授权管理 获取应用许可证
🖥️ 全平台支持 Windows、Linux、macOS
⚡ 高效快速 命令行操作,适合批量处理

适用场景

  • 开发者:获取 IPA 文件用于测试、竞品分析
  • 测试人员:下载特定版本进行兼容性测试
  • 备份需求:备份已购应用的 IPA 文件
  • 自动化流程:集成到 CI/CD 管道
  • 版本归档:保存应用的历史版本

重要说明

⚠️ IPATool 仅能下载你已经购买过的应用。此工具并非为盗版设计,你的账户必须拥有该应用的许可证才能下载。


🔧 安装

方式一:Homebrew(macOS 推荐)

brew install ipatool

方式二:手动下载

前往 GitHub Releases 下载对应系统的最新版本:

  • macOS:ipatool_Darwin_*.tar.gz
  • Linux:ipatool_Linux_*.tar.gz
  • Windows:ipatool_Windows_*.zip

方式三:源码编译

需要 Go 1.16+ 环境:

git clone https://github.com/majd/ipatool.git
cd ipatool
go build -o ipatool

方式四:全局安装(Linux/macOS)

sudo cp ipatool /usr/local/bin/

验证安装

ipatool --version

🔑 账号认证

登录 App Store

首次使用需要登录你的 Apple ID:

# 交互式登录(推荐)
ipatool auth login

# 非交互式登录
ipatool auth login -e [email protected] -p your_password

💡 如果你的 Apple ID 开启了双重验证,建议使用 App 专用密码,而不是主密码。

查看登录信息

ipatool auth info

撤销凭证

ipatool auth revoke

🔍 搜索应用

基本搜索

# 搜索应用(默认返回 5 条结果)
ipatool search "微信"

# 指定返回结果数量
ipatool search "微信" --limit 10

全局参数

参数 说明
--format 输出格式:text(默认)或 json
--non-interactive 非交互模式运行
--verbose 启用详细日志

📥 下载应用

基本下载

# 使用 Bundle ID 下载
ipatool download -b com.tencent.xin -o ~/Downloads/wechat.ipa

# 使用 App ID 下载
ipatool download -i 155342910943 -o ~/Downloads/app.ipa

下载参数

参数 缩写 说明
--app-id -i 应用 ID
--bundle-identifier -b Bundle ID(与 App ID 二选一)
--external-version-id - 指定外部版本 ID(默认下载最新版本)
--output -o 下载输出路径
--purchase - 如果需要自动获取许可证

示例

# 下载最新版本
ipatool download -b com.tencent.xin -o ~/Downloads/wechat.ipa

# 下载并自动购买(免费应用)
ipatool download -b com.apple.mobilesafari -o ~/Downloads/safari.ipa --purchase

# 下载指定版本(需先使用 list-versions 查看)
ipatool download -b com.tencent.xin --external-version-id 1677840000 -o ~/Downloads/wechat_v8.0.20.ipa

📋 版本管理

列出可用版本

# 使用 App ID
ipatool list-versions -i 155342910943

# 使用 Bundle ID
ipatool list-versions -b com.tencent.xin

获取版本元数据

ipatool get-version-metadata -i 155342910943 --external-version-id 1677840000

💰 应用购买

对于付费应用,需要先获取许可证:

# 使用 Bundle ID
ipatool purchase -b com.adobe.psmobile

# 使用 App ID
ipatool purchase -i 123456789

⚠️ 购买操作会实际从你的 Apple ID 扣款,请谨慎操作。


⚙️ 全局命令选项

选项 说明
--format 输出格式:textjson
--non-interactive 非交互模式运行
--verbose 启用详细日志
--keychain-passphrase 解锁钥匙串的密码

💡 进阶用法

非交互式自动化

在自动化脚本中使用非交互模式:

ipatool auth login -e [email protected] -p your_password --non-interactive
ipatool download -b com.example.app -o ./app.ipa --non-interactive

批量下载脚本

创建批量下载脚本:

#!/bin/bash

# 设置输出目录
OUTPUT_DIR="./ipas"

# 应用列表
APPS=(
"com.tencent.xin"
"com.apple.mobilesafari"
"com.google.ios.youtube"
)

for app in "${APPS[@]}"; do
echo "Downloading $app..."
ipatool download -b "$app" -o "$OUTPUT_DIR/${app}.ipa" --purchase
done

批量备份已购应用

# 导出已购应用列表
ipatool list-purchased --format json > purchased_apps.json

# 配合 jq 工具批量下载
cat purchased_apps.json | jq -r '.[].appId' | xargs -I {} ipatool download -i {} -o ./backup/{}.ipa

应用分析工作流

# 1. 搜索目标应用
ipatool search "视频编辑" --limit 5

# 2. 下载应用
ipatool download -b com.example.videoeditor -o ./app.ipa

# 3. 解压分析
unzip -q ./app.ipa -d app_contents
cd app_contents/Payload/*.app
ls -la Resources/

🔧 常见问题

Q1: 登录失败,提示密码错误

解决方案

Q2: 下载提示「未购买」

解决方案

  • 添加 --purchase 参数获取免费应用许可证
  • 确认应用确实已购买

Q3: 版本不存在

解决方案

  • 使用 list-versions 查看可用的版本
  • 确认 External Version ID 正确

Q4: 认证令牌过期

解决方案

# 重新登录
ipatool auth revoke
ipatool auth login

📊 命令速查表

命令 说明
ipatool auth login 登录 Apple ID
ipatool auth info 查看登录信息
ipatool auth revoke 撤销凭证
ipatool search <term> 搜索应用
ipatool list-versions -i <app-id> 列出应用版本
ipatool purchase -b <bundle-id> 获取应用许可证
ipatool download -b <bundle-id> -o <path> 下载 IPA
ipatool get-version-metadata 获取版本元数据

📚 相关资源

资源 链接
GitHub https://github.com/majd/ipatool
Releases https://github.com/majd/ipatool/releases
Python 版本 https://github.com/NyaMisty/ipatool-py

⚠️ 注意事项

  1. 合法使用:仅下载你已购买的应用,不要用于盗版
  2. 账号安全:建议使用 App 专用密码而非主密码
  3. 数据备份:定期备份重要的 IPA 文件
  4. 版本选择:如需特定版本,先用 list-versions 查看可用版本

本教程最后更新于 2026 年 4 月