贝博恩创新科技网

upgradedownload使用教程

upgradedownload 使用教程

什么是 upgradedownload

upgradedownload 是一个专门为 macOS 设计的命令行工具,它的核心功能是:将 App Store 应用下载为最新的、不受 Gatekeeper 限制的 .app 文件

upgradedownload使用教程-图1
(图片来源网络,侵删)

它解决了两个痛点:

  1. 绕过 App Store 的安装限制:下载的应用是独立的 .app 包,你可以直接复制到任何 Mac 上使用,无需登录 App Store 账户。
  2. 获取最新版本:它会直接从 Apple 的服务器获取应用的最新版本,而不是你电脑上已安装的版本。

常见用途:

  • 制作应用安装包:为团队或网络中的其他 Mac 准备应用安装包。
  • 版本控制:将特定版本的应用(如 V1.2.3)下载下来存档。
  • 自动化部署:配合脚本,实现应用的批量、自动化安装。
  • 分发应用:在没有网络连接的 Mac 上安装应用。

准备工作(非常重要)

在使用 upgradedownload 之前,你必须完成以下两步,否则工具将无法工作。

安装 Xcode 命令行工具

upgradedownload 依赖于 Xcode 自带的 clang 编译器来编译其核心组件。

upgradedownload使用教程-图2
(图片来源网络,侵删)

打开终端,运行以下命令:

xcode-select --install

系统会弹出一个安装窗口,点击“安装”并完成安装,安装后,你可以通过 xcode-select -p 来确认安装路径(通常是 /Applications/Xcode.app/Contents/Developer)。

安装 Homebrew

upgradedownload 通常通过 Homebrew 包管理器来安装,如果你的 Mac 还没有安装 Homebrew,请先安装。

打开终端,运行以下官方安装命令:

upgradedownload使用教程-图3
(图片来源网络,侵删)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装过程可能需要一些时间,请耐心等待。


安装 upgradedownload

准备工作完成后,安装 upgradedownload 非常简单,只需一行命令:

brew install upgradedownload

Homebrew 会自动下载并完成所有安装配置。


核心使用方法

upgradedownload 的基本语法是:

upgradedownload <app-bundle-id>

<app-bundle-id> 是每个 macOS 应用的唯一标识符。找到这个 ID 是使用本工具的关键。

如何查找应用的 Bundle ID?

有几种方法可以找到:

  1. 使用 mas 命令(推荐) mas 是另一个通过 Homebrew 安装的、用于管理 App Store 应用的工具。

    • 安装 masbrew install mas
    • 列出你已安装的 App Store 应用及其 ID:mas list
    • 输出格式类似:123456789 AppName (1.2.3),前面的数字就是 ID。
  2. 手动查找(通过 Finder)

    • 打开 Finder,进入 应用程序 文件夹。
    • 右键点击你想下载的应用,选择“显示包内容”。
    • 在弹出的窗口中,进入 Contents -> Info.plist 文件。
    • 右键点击 Info.plist,选择“显示”或用文本编辑器打开它。
    • 在文件中找到 CFBundleIdentifier 这一键,它对应的值就是 Bundle ID。

实战示例

示例 1:下载 The Unarchiver

  1. mas list 查到 The Unarchiver 的 ID 是 425424353
  2. 在终端运行:
    upgradedownload 425424353
  3. 工具会开始工作,你会看到类似下面的输出:
    [*] Getting app info from the App Store...
    [*] App: The Unarchiver (Version: 4.3.0)
    [*] Downloading app package...
    [*] Verifying app package...
    [*] Extracting app...
    [*] Successfully extracted to /path/to/your/downloads/The Unarchiver.app

    下载的 .app 文件通常会保存在你用户的“下载”文件夹里。

示例 2:下载 Xcode

  1. Xcode 的 Bundle ID 是 497799835
  2. 运行命令:
    upgradedownload 497799835
  3. 注意:Xcode 文件非常大(可能超过 10GB),下载和提取过程会非常耗时,并且需要确保你有足够的磁盘空间。

高级选项与技巧

upgradedownload 提供了一些有用的命令行选项,让功能更强大。

指定下载版本

默认情况下,它会下载最新版,但如果你想下载一个特定的旧版本,可以使用 --version 选项。

  • 语法upgradedownload <bundle-id> --version <version-number>

  • 示例:下载 VLC Media Player 的 3.0.18 版本

    # 假设 VLC 的 ID 是 547369404
    upgradedownload 547369404 --version 3.0.18

指定输出目录

默认下载到“下载”文件夹,你可以用 -o--output 指定任何你想要的位置。

  • 语法upgradedownload <bundle-id> -o /path/to/your/directory

  • 示例:将下载的 Telegram 应用直接放到桌面

    upgradedownload 747648890 -o ~/Desktop

查看可用版本

在下载特定版本之前,你可能想知道有哪些版本可用,可以使用 --list-versions 选项。

  • 语法upgradedownload <bundle-id> --list-versions

  • 示例:查看 Microsoft Edge 的可用版本

    upgradedownload 1289103908 --list-versions

    输出会列出所有可用的版本号,供你选择。

调试模式

如果遇到问题,可以使用 --debug 模式来获取更详细的日志信息,方便排查。

  • 语法upgradedownload <bundle-id> --debug

常见问题与解决方案 (FAQ)

Q1: 报错 xcrun: error: active developer directory is not set... A: 这说明你没有正确安装 Xcode 命令行工具,请返回第二步,运行 xcode-select --install

Q2: 报错 Error: Unable to locate app with id... A: 这几乎可以肯定是 Bundle ID 错误,请仔细检查你输入的 ID 是否正确,可以通过 mas list 再次确认。

Q3: 报错 Error: No such file or directory 或权限问题 A: 这通常是你指定的输出目录不存在,或者你没有权限写入该目录,请检查目录路径和你的用户权限。

Q4: 下载的 .app 文件无法打开,提示“来自不受信的开发者” A: 这是 Gatekeeper 机制,你有两种方法解决:

  1. 右键点击应用 -> “打开” -> 在弹出的对话框中点击“打开”。
  2. 在“系统设置” -> “隐私与安全性” -> “安全性”中,将“允许从以下位置下载的应用”设置为“App Store 和被认可的开发者”。
  3. 终端中运行 xattr -dr com.apple.quarantine /path/to/your/app.app 来移除隔离属性。

Q5: 工具提示需要更新,但 brew upgrade 后还是旧版本? A: upgradedownload 的更新可能不会非常及时,如果遇到此问题,可以尝试从源码重新安装:

brew uninstall upgradedownload
brew install --HEAD upgradedownload

--HEAD 会安装最新的开发版本。


upgradedownload 是一个功能极其强大且灵活的 macOS 工具,尤其适合开发者、系统管理员和需要批量部署应用的用户,掌握它的核心用法和几个关键选项,你就能轻松管理 App Store 应用的分发和安装。

希望这份教程对你有帮助!

分享:
扫描分享到社交APP
上一篇
下一篇