Rosetta 2 停止支持:macOS 27 移除前 Intel 应用准备指南

macOSTahoe ·
Rosetta 2 停止支持:macOS 27 移除前 Intel 应用准备指南

macOS 26.4 Beta 现已向 Intel 应用发出警告。了解如何审计应用、寻找替代方案,并为 2027 年秋季 macOS 28 移除 Rosetta 2 做好准备。

本周发生了一些每位使用 Apple Silicon 硬件的 Mac 用户都需要关注的变化。2026 年 2 月 16 日至 17 日,Apple 向开发者发布了 macOS Tahoe 26.4 Beta 1,而在该版本中隐藏了一个安静但明确的信号:每次启动依赖 Rosetta 2 运行的应用时,都会出现一个新的警告对话框。

对话框显示:“当 Rosetta 2 支持结束时,此应用将不再受支持。”

对话框中没有“不再显示”复选框。Apple 希望你每次都能看到它。这种刻意的设计选择告诉了你关于未来走向的一切。

Intel Mac 到达更新支持终点 —— macOS Tahoe 26.4 开始向用户发出关于 Rosetta 2 移除的警告

本文是你的完整专家指南,旨在帮助你了解这意味着什么、如何立即审计 Mac 上的每个应用,以及你需要采取的具体行动 —— 无论你是普通用户、高级用户,还是向 Mac 用户交付软件的开发者。

触发本文的原因:macOS 26.4 Beta 警告

改变一切的警告对话框

当 Apple 在 2026 年 2 月 16 日至 17 日推出 macOS Tahoe 26.4 Beta 1 时,开发者和测试人员立即注意到,任何经 Intel 编译的应用现在都会在启动时触发系统级警告对话框。这不仅是一个微妙的通知标记或安静的日志条目,而是一个出现在屏幕最前端并要求你关注的完整模态对话框。

根据 MacRumors、9to5Mac 和 AppleInsider 的报道,该对话框在每次启动时都会出现,无法针对特定应用永久关闭。这是 Apple 弃用技术的既定模式:他们在 macOS Catalina (2019) 停止支持 32 位应用之前,以及在其他几次重大平台转型之前,都引入了类似的警告。当 Apple 开始显示持久的每次启动警告时,移除的时间将以年而非十年计。

为什么 macOS 26.4 Beta 具有重要意义

点版本发布后的第一个 Beta 版很少是 Apple 引入如此重大的面向用户行为更改的时机。该警告出现在 26.4 Beta 1 中 —— 而不是在主版本或开发者预览版中 —— 表明 Apple 选择了一个能见度相对较低的更新开始发布弃用消息,正是因为它需要时间进行传播。通过从 2026 年 2 月开始警告,Apple 给予了:

  • 普通用户 在 Rosetta 2 移除前大约 18 个月的重复警告时间
  • 开发者 一个明确的公开信号,要求优先考虑原生 Apple Silicon 构建版本
  • 企业 IT 团队 审计软件清单并规划迁移的时间

这是典型的 Apple 转型管理:提前沟通激进的时间表,并配合不断升级的紧迫信号。

什么是 Rosetta 2,为什么它很重要?

技术基础

Rosetta 2 是 Apple 的动态二进制翻译器 —— 这是一项复杂的系统软件,它拦截 Intel x86_64 机器代码指令,并将其实时翻译成 Apple Silicon 芯片可以原生执行的 ARM64 指令。Apple 在 2020 年 11 月随首批 Apple Silicon Mac 一起推出了它,为开发者提供了移植应用的时间,同时用户仍能运行现有软件。

“Rosetta 2”这个名字参考了原始的 Rosetta,Apple 在 2005 年至 2006 年从 PowerPC 转型至 Intel 处理器期间使用了它。Apple 在 2011 年随 OS X Lion 移除了原始的 Rosetta,大约是在 Intel 转型开始五年后。如果这一模式持续下去,2020 年推出的 Rosetta 2 也正处于类似的轨道上。

Apple Silicon 芯片架构 —— 自 2020 年以来每台 Mac 的基础,取代了 Intel 的 x86_64 处理器

Rosetta 2 的实际工作方式

与传统的模拟器不同,Rosetta 2 采用两阶段翻译方法:

阶段 1 —— 提前 (AOT) 翻译:当你首次在 Apple Silicon 上启动 Intel 应用时,Rosetta 2 会翻译整个二进制文件并在磁盘上缓存 ARM64 版本。此翻译只发生一次,后续启动将使用缓存版本。

阶段 2 —— 即时 (JIT) 翻译:对于无法预翻译的代码 —— 例如 JavaScript 引擎中动态生成的代码或某些插件架构 —— Rosetta 2 会在执行过程中即时翻译指令。

这种缓存机制解释了为什么 Intel 应用在首次启动后在 Apple Silicon 上的运行速度通常可以接受。性能损耗是真实存在的,对于计算密集型任务,损耗通常在 10-30% 之间。而对于许多日常应用,M 系列芯片的速度非常快,以至于翻译后的代码表现甚至超过了原版 Intel 硬件上原生运行的同一应用。

性能现实

这是一个让许多用户感到惊讶的事实:某些 Intel 应用在 M4 Mac 上通过 Rosetta 2 运行的速度,甚至比它们在当初设计的 Intel Mac 上运行还要快。这并不是因为 Rosetta 2 让应用变快了,而是因为底层的 M 系列芯片比 Apple 在 2019 年至 2020 年出货的 Intel 芯片快得多,即使有翻译开销,M 系列依然胜出。

这产生了一种虚假的安全感。许多用户认为,既然他们的旧 Intel 应用运行良好且速度很快,就没有紧迫性。这种紧迫性不在于当前的性能,而在于当 Rosetta 2 从操作系统中被物理移除时会发生什么。

完整的 Rosetta 2 弃用时间线

了解时间线对于规划至关重要。以下是我们高度确信的信息以及推测的内容。

官方时间线:已知信息

里程碑日期状态影响
Rosetta 2 推出2020 年 11 月已完成Intel 应用可在 Apple Silicon 上运行
Apple Silicon Mac 市场份额 >50%2022 年已完成大多数 Mac 不再需要 Rosetta
macOS Tahoe 26 发布2025 年秋季已完成支持 Intel Mac 的最后一个 macOS 版本
macOS 26.4 Beta 1 警告对话框2026 年 2 月当前阶段开始对 Intel 应用显示每次启动警告
macOS 27 发布2026 年秋季即将到来仅限 Apple Silicon 硬件;仍包含 Rosetta 2
macOS 28 发布2027 年秋季预计Rosetta 2 预计被移除
开发者原生构建截止日期2027 年夏季目标应用必须交付 Apple Silicon 原生版本

每个阶段会发生什么

现在 (macOS Tahoe 26.x):你在 Apple Silicon 上启动的每个 Intel 应用都会显示警告对话框。应用仍能完美运行,没有功能损坏。这是警告阶段。

2026 年秋季 —— macOS 27 发布:macOS 27 需要 Apple Silicon 硬件 —— Intel Mac 拥有者将无法升级(他们的机器在 macOS Tahoe 26 到达支持终点)。Rosetta 2 依然保留在 macOS 27 中,因此你的 Intel 应用仍可工作。警告对话框将继续出现。如果你使用的是运行 macOS 27 的 Apple Silicon Mac,Intel 应用仍可启动。

2027 年秋季 —— macOS 28 发布:这是预计的移除日期。当 Apple 从 macOS 28 中移除 Rosetta 2 时,仅限 Intel 的应用将显示错误并拒绝启动。通过标准系统设置将无法解决此问题。

macOS 28 之后:你的选择将显著变少 —— 虚拟化、保留运行旧版 macOS 的机器,或者单纯接受该应用不再工作并寻找替代方案。

历史先例:移除 32 位应用

Apple 对 32 位应用支持的弃用,为理解 Rosetta 2 移除过程提供了最佳先例:

  • 2017 年 (macOS High Sierra):Apple 开始警告 32 位应用将不再受到支持,“除非其开发者进行更新”
  • 2018 年 (macOS Mojave):警告变得更加显著;“最后一个运行 32 位应用的 macOS 版本”
  • 2019 年 (macOS Catalina):32 位应用完全停止工作,无一例外

Rosetta 2 的弃用似乎遵循完全相同的模式,由于 Apple Silicon 转型的规模和 Universal Binary 工具的成熟,时间被稍微压缩。

如何立即审计你的应用:四种完整方法

如果你是使用 Apple Silicon 的 Mac 用户,这是本文最重要的部分。请按照每种方法操作,全面了解你的现状。

使用终端和开发工具审计 Mac 上的应用架构 —— 在 Rosetta 2 移除前识别仅限 Intel 的应用

方法 1:系统信息(完整的应用清单)

这是最彻底的方法 —— 它显示了 Mac 上的每一个应用及其架构类型,无论当前是否正在运行。

分步操作:

  1. 点击屏幕左上角的 Apple 菜单 ()
  2. 按住 Option 键 并点击“系统信息...”(按住 Option 会跳过“关于本机”窗口,直接进入系统信息)
  3. 在左侧边栏中,向下滚动到“软件”部分并点击 应用程序
  4. 等待列表加载 —— 在应用较多的机器上可能需要 30-60 秒
  5. 点击 种类 列标题,按架构类型对应用进行排序
  6. 寻找标记为 Intel 的任何应用 —— 这些应用需要 Rosetta 2

理解“种类”列的值:

种类值含义是否需要 Rosetta 2?
Apple原生 Apple Silicon 二进制文件否
Intel仅限 Intel x86_64 二进制文件是 —— 将在 macOS 28 中失效
通用 (Universal)包含 Intel 和 ARM64 代码否 —— 原生运行
(空白)系统应用或框架通常不需要

专家提示:导出此列表作为参考。在系统信息中使用“文件 > 存储”(或 Command-S)保存报告。这将为你提供一个基准,以便六个月后进行对比。

方法 2:活动监视器(仅限正在运行的应用)

活动监视器显示当前正在运行的应用架构,这对于识别可能不作为顶级应用出现的依赖 Rosetta 的进程非常有用 —— 包括助手进程、菜单栏工具和后台代理。

分步操作:

  1. 从“应用程序 > 实用工具”打开活动监视器,或在 Spotlight 中搜索(Command-Space,然后输入“活动监视器”)
  2. 前往菜单栏中的 显示 菜单
  3. 选择 列,然后启用 种类 列
  4. “种类”列现在在每个进程旁边显示“Intel”或“Apple”
  5. 按“种类”排序,将所有 Intel 进程分组在一起

寻找重点:特别注意那些看起来不像应用的进程 —— 名称中带有“helper”、“agent”、“daemon”或没有明显应用关联的进程名。这些通常是应用的后台组件,虽然主窗口可能显示为原生,但后台进程仍在使用 Intel 代码。

方法 3:对单个应用使用“显示简介”

如果你只想快速检查单个应用而不打开系统信息:

分步操作:

  1. 打开访达 (Finder)
  2. 导航到你的应用程序文件夹
  3. 右键点击(或按住 Control 点击)任何应用
  4. 从上下文菜单中选择 显示简介
  5. 在简介面板中查找 种类 字段

如果“种类”显示为“应用程序 (Intel)”,则该应用需要 Rosetta 2。如果显示为“应用程序 (通用)”或仅仅是“应用程序”,则它在 Apple Silicon 上原生运行。

重要提示:如果你在“显示简介”面板中看到一个名为“使用 Rosetta 打开”的复选框,这意味着该应用是 Universal Binary(通用二进制文件),但你(或某个安装程序)之前选择了强制以 Intel 模式运行。取消勾选此框即可让其以原生方式运行。

方法 4:终端命令(最详细)

file 命令是检查应用二进制文件并获取精确架构信息最可靠的方法。

对单个应用进行基础检查:

file /Applications/AppName.app/Contents/MacOS/AppName

将 AppName 替换为实际的应用名称。例如:

file /Applications/Safari.app/Contents/MacOS/Safari

理解输出内容:

# 仅限原生 Apple Silicon:
/Applications/AppName.app/Contents/MacOS/AppName: Mach-O 64-bit executable arm64

# 原生 Apple Silicon(较新的签名):
/Applications/AppName.app/Contents/MacOS/AppName: Mach-O 64-bit executable arm64e

# 仅限 Intel —— 需要 Rosetta 2:
/Applications/AppName.app/Contents/MacOS/AppName: Mach-O 64-bit executable x86_64

# Universal Binary (通用二进制) —— 不需要 Rosetta:
/Applications/AppName.app/Contents/MacOS/AppName: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64:Mach-O 64-bit executable arm64]

一次性扫描所有应用:

在终端中使用此单行命令,为应用程序文件夹中的所有应用生成架构报告:

for app in /Applications/*.app; do
  name=$(basename "$app" .app)
  binary="$app/Contents/MacOS/$name"
  if [ -f "$binary" ]; then
    arch=$(file "$binary" | grep -o 'arm64\|x86_64' | sort -u | tr '
' '/')
    echo "$name: ${arch%/}"
  fi
done 2>/dev/null

更彻底的版本(包括所有子文件夹):

find /Applications -name "*.app" -maxdepth 2 | while read app; do
  name=$(basename "$app" .app)
  binary=$(find "$app/Contents/MacOS" -type f -perm +111 2>/dev/null | head -1)
  if [ -n "$binary" ]; then
    result=$(file "$binary" 2>/dev/null)
    if echo "$result" | grep -q "x86_64" && ! echo "$result" | grep -q "arm64"; then
      echo "INTEL (需要 Rosetta): $name"
    elif echo "$result" | grep -q "arm64" && echo "$result" | grep -q "x86_64"; then
      echo "通用: $name"
    elif echo "$result" | grep -q "arm64"; then
      echo "原生 Apple Silicon: $name"
    fi
  fi
done 2>/dev/null | sort

运行此命令,等待 30-60 秒,你将得到一份按 Intel、通用和原生 Apple Silicon 分类的应用排序列表。

使用 lipo 获取更多细节:

lipo -info /Applications/AppName.app/Contents/MacOS/AppName

这是产生如下输出的底层工具:

Architectures in the fat file: /Applications/... are: x86_64 arm64

或针对仅限 Intel 的应用:

Non-fat file: /Applications/... is architecture: x86_64

哪些应用安全,哪些需要采取行动

已原生化的主流应用(你很安全)

绝大多数主流消费级软件早在几年前就已转型为 Apple Silicon 原生。如果你只运行流行且积极维护的应用,那么你很可能处于安全状态。

应用 / 套件原生支持时间架构状态
Adobe Photoshop2022 年 1 月通用安全
Adobe Premiere Pro2022 年 4 月通用安全
Adobe Illustrator2022 年 3 月通用安全
Adobe Lightroom2020 年 11 月通用安全
Microsoft Word2020 年 11 月通用安全
Microsoft Excel2020 年 11 月通用安全
Microsoft PowerPoint2020 年 11 月通用安全
Microsoft Outlook2020 年 11 月通用安全
Google Chrome2021 年 3 月通用安全
Mozilla Firefox2020 年 11 月通用安全
Slack2021 年 3 月通用安全
Zoom2021 年 4 月通用安全
Microsoft Teams2022 年 3 月通用安全
VS Code2021 年 3 月通用安全
JetBrains IDEs2021 年通用安全
Figma2021 年通用安全
Dropbox2021 年通用安全
1Password2020 年 11 月通用安全
Spotify2021 年通用安全
VLC Media Player2021 年通用安全
Final Cut Pro2020 年 11 月原生 ARM安全
Logic Pro2020 年 11 月原生 ARM安全
Xcode2020 年 11 月原生 ARM安全

可能仍需要 Rosetta 2 的类别

并不是所有软件都以相同的速度前进。到 2026 年,最有可能仍包含仅限 Intel 组件的类别包括:

音频制作插件(风险最高)

这是风险最高的一个类别。音频单元 (AU) 和 VST 插件通常是由小型开发团队或个人开发者维护的专门工具。其中许多插件多年未更新,有些开发者已经放弃了维护。

# 检查你的音频单元
find ~/Library/Audio/Plug-Ins /Library/Audio/Plug-Ins -name "*.component" 2>/dev/null | 
while read plugin; do
  binary=$(find "$plugin/Contents/MacOS" -type f 2>/dev/null | head -1)
  if [ -n "$binary" ]; then
    result=$(file "$binary" 2>/dev/null)
    if echo "$result" | grep -q "x86_64" && ! echo "$result" | grep -q "arm64"; then
      echo "INTEL 插件: $(basename $plugin)"
    fi
  fi
done

科学与研究软件

许多科学计算应用、学术软件工具和研究仪器使用仅限 Intel 的版本,由于用户群小、学术资金周期或机构采购限制,这些版本很少更新。示例包括:

  • 专门的数据分析工具(某些 MATLAB 工具箱、带有编译扩展的 R 包)
  • 地理信息系统 (GIS) 工具
  • 实验室仪器控制软件
  • 带有编译组件的遗留数据处理流程

工业与企业应用

企业级软件转型缓慢。业务线应用、ERP 连接器、旧版企业基础架构的 VPN 客户端以及专门的硬件接口软件,往往在消费级软件转型很久之后仍保留在 Intel 架构上。

老旧游戏与游戏平台客户端

虽然主要游戏平台(Steam、Epic Games Store)几年前就已原生化,但作为仅限 Intel 编译且从未更新的老游戏依然依赖 Rosetta。当 macOS 28 移除 Rosetta 2 支持时,这些游戏将停止工作。

遗留创意工具

旧版本的专业创意软件 —— 在 Apple Silicon 出现之前发布的版本,作为永久许可证而非订阅购买 —— 可能仍仅限 Intel。如果你正在运行旧版本的 Final Cut Pro 7 或任何音视频工具的遗留版本,请验证其架构。

转型中的 Mac 应用兼容性 —— 识别当 macOS 28 移除 Rosetta 2 时哪些应用会失效

当 Rosetta 2 被移除时究竟会发生什么

macOS 27 场景(2026 年秋季)

当 macOS 27 在 2026 年秋季出货时,会同时发生两件事:

  1. Intel Mac 拥有者无法升级(他们的硬件不再受支持)
  2. Apple Silicon Mac 拥有者可以升级,且 macOS 27 中依然保留 Rosetta 2

对于升级到 macOS 27 的 Apple Silicon Mac 用户,Intel 应用依然可以工作。警告对话框会继续出现。一切正常运行。这是一个宽限期 —— Apple 在最终移除前给用户和开发者预留的时间。

macOS 28 场景(2027 年秋季):当应用停止工作时

当 macOS 28 在 2027 年秋季发布时 —— 假设 Apple 遵循 2019 年 32 位应用移除的先例 —— Rosetta 2 将从基础操作系统中被移除。届时:

用户将看到的现象:当你尝试在 macOS 28 上启动仅限 Intel 的应用时,你会看到类似这样的错误对话框:“AppName 无法打开,因为它与你的 Mac 不兼容。” 届时将没有 Rosetta 2 可供退而求其次。

不受影响的内容:

  • 通用二进制 (Universal Binary) 应用(包含 Intel 和 ARM64 代码) —— 这些应用将继续正常工作
  • 原生 Apple Silicon 应用 —— 不受影响
  • Web 应用和渐进式 Web 应用 (PWA) —— 不受影响
  • 在虚拟机内运行的应用 —— 取决于虚拟化解决方案

永久记录:macOS 28 可能会以某种形式保留 Rosetta 2,以支持系统级兼容性或遗留游戏(Apple 有时会专门为游戏保留兼容层),但面向普通开发者的用于生产力应用的 Rosetta 2 预计会被移除。

截止日期到达时的转型选项

如果你发现自己在 2027 年秋季仍在使用没有原生 Apple Silicon 替代方案的仅限 Intel 应用,你的选择包括:

选项 1:留在 macOS 27

你可以拒绝升级到 macOS 28,继续运行保留了 Rosetta 2 的 macOS 27。这种方式可以一直维持到 Apple 停止为 macOS 27 提供安全补丁为止。通常安全补丁会在新版本发布后持续约 18-24 个月,这意味着 macOS 27 的支持可能在 2028-2029 年秋季结束。

选项 2:虚拟机

Parallels Desktop for Mac 支持运行虚拟机环境,这可能通过嵌套模拟运行 Intel 编译的应用。性能会大幅下降,这种方法更适合偶尔使用,而非日常工作流。它不是主应用的长期解决方案。

选项 3:保留遗留 Mac

一些机构和专业人士会专门保留一台旧的 Intel Mac(或运行旧版 macOS 的早期 Apple Silicon Mac)用于运行遗留软件。这对于偶尔访问遗留工具是可行的,但需要维护老旧的硬件。

选项 4:寻找原生替代方案

在大多数情况下,最好的长期策略是为你依赖的任何仅限 Intel 应用寻找原生 Apple Silicon 替代方案。进入 Apple Silicon 时代五年后,原生应用生态已非常丰富,大多数软件类别都有出色的替代品。

Apple Silicon:了解架构

配有 Apple Silicon 的 MacBook —— 原生 ARM64 应用以全性能运行,无需 Rosetta 2 翻译

“Universal Binary” (通用二进制) 的含义及其重要性

Apple 随 Apple Silicon 推出了 Universal Binary 2,允许开发者发布单个应用包,在 Intel 和 Apple Silicon Mac 上都能原生运行。当你在系统信息的“种类”列看到“通用”时,你看到的就是这项技术。

Universal Binary 包含两份完整的已编译应用代码:

  • 一份为 Intel x86_64 编译
  • 一份为 Apple Silicon ARM64 编译

macOS 会根据运行的硬件自动选择合适的版本。对于需要支持两个平台的开发者来说,Universal Binary 是理想的解决方案 —— 但它们会导致应用包体积变大(二进制文件大小约增加一倍,但资源文件是共享的)。

为什么 Universal Binary 永远安全:即使在移除 Rosetta 2 之后,Universal Binary 依然能完美工作,因为它们包含 Apple Silicon 可以直接执行的原生 ARM64 代码。在 Rosetta 2 弃用的背景下,你永远不需要担心 Universal Binary 应用。

架构类型参考表

架构macOS 术语终端输出是否需要 RosettamacOS 28 之后是否安全
ARM64Applearm64 或 arm64e否是
x86_64Intelx86_64是否
ARM64 + x86_64通用universal binary否是
ARM64eApple (签名)arm64e否是

行动计划:你现在应该做什么

立即采取的步骤(本周)

步骤 1:运行架构审计

使用本文前面提到的方法 1(系统信息)或方法 4(终端命令),生成一份 Mac 上每个应用及其架构的完整清单。保存此清单。你需要了解你正在处理的情况。

步骤 2:对你的 Intel 应用进行分类

对于你发现的每一个 Intel 应用,将其归入以下三个类别之一:

  • 关键:你每天或每周都在使用,你的工作依赖于它
  • 重要:你每月使用一次,更换替代品将需要重大的工作流变更
  • 遗留:你很少使用,或者可以轻松找到替代品

步骤 3:研究每个关键和重要应用

对于关键和重要类别的每个应用,确定:

  1. 是否已经存在原生 Apple Silicon 版本?(如果有,请立即下载)
  2. 开发者是否宣布正在开发 Apple Silicon 版本?
  3. 开发者是否依然活跃,或者产品已被弃用?
  4. 是否有成熟的原生替代品?
# 快速检查:App Store 中是否有 Apple Silicon 版本?
# 使用 App Store 搜索,或直接访问开发者网站
# 同时检查:https://isapplesiliconready.com (社区维护的数据库)

步骤 4:联系开发者

对于你依赖但没有原生版本且没有宣布计划的应用,请直接联系开发者。客户压力是有效的。关于 Apple Silicon 兼容性的支持请求剧增 —— 特别是引用了 macOS 26.4 警告对话框的消息 —— 会发出明确的市场信号。

中期步骤(未来 6 个月)

制定你的迁移路线图

创建一个简单的电子表格或列表:

应用名称当前状态是否有原生版本?替代品优先级目标日期
[应用名]仅限 Intel正在开发中无关键2026 年 Q3
[应用名]仅限 Intel否[替代品]重要2026 年 Q4

尽早测试替代品

不要等到 macOS 28 出货才去尝试替代应用。测试和过渡工作流需要时间,特别是对于专业工具。如果你今天识别出某个应用需要更换,请立即开始测试替代品,此时还没有紧迫感。

评估你的插件情况

如果你使用数字音频工作站、照片编辑插件或任何其他基于插件的创意软件,请单独审计你的插件。插件通常具有独立于其宿主应用的更新周期。

# 检查所有音频单元 (Audio Units)
find ~/Library/Audio/Plug-Ins/Components /Library/Audio/Plug-Ins/Components 
  -name "*.component" -maxdepth 1 2>/dev/null | 
while read p; do
  binary=$(find "$p/Contents/MacOS" -type f -perm +111 2>/dev/null | head -1)
  [ -n "$binary" ] && echo "$(file "$binary" | grep -o 'x86_64\|arm64'): $(basename $p)"
done | sort

# 检查 VST3 插件
find ~/Library/Audio/Plug-Ins/VST3 /Library/Audio/Plug-Ins/VST3 
  -name "*.vst3" -maxdepth 1 2>/dev/null | 
while read p; do
  binary=$(find "$p/Contents/MacOS" -type f -perm +111 2>/dev/null | head -1)
  [ -n "$binary" ] && echo "$(file "$binary" | grep -o 'x86_64\|arm64'): $(basename $p)"
done | sort

开发者指南:在 Rosetta 2 被移除前你必须做的事

如果你向 Mac 用户交付软件,macOS 26.4 的警告对话框不仅仅是一个用户关注的问题 —— 它也是直接发给你的消息。每位使用 Apple Silicon 硬件的用户现在每次启动你的应用都会看到警告。这会损害用户体验和信任。

开发者构建通用二进制文件 —— Xcode 让编译支持 Intel x86_64 和 Apple Silicon ARM64 的应用变得简单直观

你实际上还有多少时间?

  • 现在到 2026 年秋季:每次启动都会出现警告对话框。用户能看到,但应用运行正常。
  • 2026 年秋季 —— 2027 年秋季:macOS 27 发布。依然可用。警告继续。这是你最后的构建窗口。
  • 2027 年秋季:macOS 28 发布。仅限 Intel 的应用停止启动。任何升级的用户都将完全失去对你应用的访问权限。

实际截止日期:要在 macOS 28 发布前交付原生版本并在 App Store 及时上架,你需要在 2027 年 6 月至 7 月 左右完成 Apple Silicon 构建,以便留出审核和更新传播的时间。对于企业或直接分发的应用,内部截止日期可能根据你的发布节奏而更早。

为 Apple Silicon 构建:技术流程

步骤 1:更新你的工具链

自 Xcode 12(2020 年 11 月发布)以来,Xcode 就已支持 Apple Silicon 编译。如果你在过去五年中使用过任何版本的 Xcode,你的工具链就已经准备就绪。

# 验证 Xcode 版本和 Apple Silicon 支持
xcodebuild -version

# 检查可用的 SDK 和架构
xcodebuild -showsdks

步骤 2:构建通用二进制 (Universal Binary)

对于大多数 macOS 应用,构建通用二进制是推荐的方法 —— 它在大多数情况下无需修改代码即可维持对 Intel 和 Apple Silicon 的兼容性。

使用 Xcode 图形界面:

  1. 在 Xcode 中打开你的项目
  2. 在项目导航器中选择你的 Target
  3. 前往 Build Settings
  4. 查找 Architectures(在过滤栏搜索)
  5. 确认列出了“Standard Architectures (arm64, x86_64)”
  6. 在 Excluded Architectures 下,确保 Release 版本没有排除 arm64 或 x86_64
  7. 通过 Product > Archive 构建两个架构的版本

使用 xcodebuild 命令行:

# 构建通用二进制
xcodebuild -project YourProject.xcodeproj 
  -scheme YourScheme 
  -configuration Release 
  ARCHS="arm64 x86_64" 
  ONLY_ACTIVE_ARCH=NO 
  build

# 验证生成的二进制文件
lipo -info build/Release/YourApp.app/Contents/MacOS/YourApp

使用 Swift Package Manager:

# 为 Apple Silicon 构建
swift build -c release --arch arm64

# 为 Intel 构建
swift build -c release --arch x86_64

# 使用 lipo 创建通用二进制
lipo -create 
  .build/arm64-apple-macosx/release/YourBinary 
  .build/x86_64-apple-macosx/release/YourBinary 
  -output YourBinary-universal

步骤 3:处理架构特定的代码

大多数 Swift 和 Objective-C 代码无需修改即可在 ARM64 上清晰编译。使用架构特定内联函数的 C 和 C++ 代码需要注意:

SIMD 指令:

// Intel SSE/AVX 内联函数 —— 在 ARM64 上不可用
#include <immintrin.h>
__m256 result = _mm256_add_ps(a, b);  // 会在 ARM64 上编译失败

// ARM NEON 等效项 —— 使用条件编译
#if defined(__arm64__) || defined(__aarch64__)
  #include <arm_neon.h>
  float32x4_t result = vaddq_f32(a, b);
#else
  #include <immintrin.h>
  __m128 result = _mm_add_ps(a, b);
#endif

运行时架构检测:

// Swift:如有需要,在运行时检测架构
#if arch(arm64)
  print("正在 Apple Silicon 上运行")
#elseif arch(x86_64)
  print("正在 Intel 上运行")
#endif

步骤 4:Electron 应用

如果你的 Mac 应用是使用 Electron 构建的,为 Apple Silicon 构建需要在构建过程中指定目标架构:

# 仅为 Apple Silicon 构建
electron-builder --mac --arm64

# 仅为 Intel 构建
electron-builder --mac --x64

# 构建通用版本(推荐)
electron-builder --mac --universal

# 或者使用 npm 脚本
npm run build -- --mac --universal

对于大多数 Electron 应用,切换到通用构建只需在构建命令中添加 --universal,前提是依赖项中的所有原生 Node.js 模块也支持 Apple Silicon(2026 年绝大多数模块都已支持)。

步骤 5:在 Apple Silicon 硬件上进行彻底测试

成功编译的通用二进制文件在 ARM64 执行时仍可能存在微妙的错误。请在真实的 Apple Silicon 硬件上测试,而不仅仅是模拟器:

# 专门运行 Apple Silicon 切片(即使在 Apple Silicon Mac 上)
arch -arm64 /Applications/YourApp.app/Contents/MacOS/YourApp

# 强制在 Apple Silicon 上运行 Intel 切片(用于对比测试)
arch -x86_64 /Applications/YourApp.app/Contents/MacOS/YourApp

# 验证正在运行的进程使用的是哪种架构
ps aux | grep YourApp  # 在 ps 输出中查找 'arm64' 或 'x86_64'

处理第三方依赖项

构建通用二进制文件最常见的障碍不是你自己的代码 —— 而是你链接的第三方库。如果任何链接库是仅限 Intel 的,你的通用二进制文件就无法链接 ARM64 切片。

诊断依赖项架构问题:

# 检查应用包中的所有框架和库
find YourApp.app -name "*.dylib" -o -name "*.framework" | 
while read lib; do
  binary=$(file "$lib" 2>/dev/null || find "$lib/Versions/Current" -type f 2>/dev/null | head -1)
  echo "$(basename $lib): $(file "$binary" 2>/dev/null | grep -o 'arm64\|x86_64' | sort -u | tr '
' '/')"
done

# 对于 CocoaPods 依赖
pod install  # 确保你使用的是最新版本
# 现代 CocoaPods 会为维护良好的 Pod 生成通用 xcframeworks

# 对于 Swift Package Manager
# 大多数积极维护的 SPM 包都支持 Apple Silicon
# 如果遇到问题,请检查 Package.resolved 中的具体版本

当依赖项仅限 Intel 时:

  1. 检查是否有支持 Apple Silicon 的较新版本库
  2. 检查该库是否有支持 ARM64 的替代分支或 fork
  3. 联系库维护者,引用 macOS 26.4 的警告作为紧迫性理由
  4. 评估该依赖项是否可以用 Apple 原生替代品替换
  5. 作为最后手段,使用条件编译在 ARM64 上使用不同的实现

通用二进制文件的签名与公证

通用二进制文件需要正确的代码签名,以确保两个切片都已正确签名:

# 对通用二进制进行签名(两个切片都会被签名)
codesign --force --sign "Developer ID Application: Your Name (TEAMID)" 
  --options runtime 
  --entitlements YourApp.entitlements 
  YourApp.app

# 验证两种架构的签名
codesign --display --verbose=4 YourApp.app

# 在 App Store 之外分发时进行公证
xcrun notarytool submit YourApp.dmg 
  --apple-id "[email protected]" 
  --team-id "YOURTEAMID" 
  --password "应用专用密码" 
  --wait

常见问题解答 (FAQ)

问:我使用的是 Intel Mac。这一切会影响我吗?

答: 目前不会直接影响,但会间接影响。Intel Mac 拥有者无法升级到 macOS Tahoe 26(2025 年秋季发布)之后的版本。如果你停留在 macOS Tahoe 26,你的所有应用 —— 无论是 Intel 还是原生 —— 都能正常工作,只要 Apple 继续为 macOS Tahoe 提供安全补丁(通常在新版本发布后持续 2-3 年,即大约到 2028-2029 年)。你永远不会看到 Apple 在 26.4 Beta 中引入的 Rosetta 2 警告对话框,因为这些警告是专门针对移除 Rosetta 2 的情况,而你的 macOS 版本并没有移除它。

问:我的 Intel 应用运行速度比我尝试过的一些原生应用还要快。为什么要升级?

答: 性能不是问题 —— 未来的兼容性才是。今天通过 Rosetta 2 运行很快的应用,在 macOS 28 移除 Rosetta 2 时将完全停止启动。如果目前某个原生替代品感觉较慢,随着开发者针对 Apple Silicon 进行优化,情况可能会有所改善。此外,值得检查的是你是否在进行公平比较 —— 某些较慢的“原生”应用可能只是优化较差,而不是因为它们是原生应用而本质上变慢。

问:我能否在 macOS 26.4 中关闭这些警告对话框?

答: Apple 刻意没有加入“不再显示”选项,也没有支持全局禁用这些警告的系统偏好设置。这是有意为之的 —— Apple 希望这些警告是持久且不可避免的。技术水平较高的用户可能会通过系统文件或终端命令找到解决方法,但 Apple 可能会在后续的 Beta 版本中封堵这些漏洞,而且禁用警告并不能改变底层的时间线。

问:如果开发者说他们永远不会发布 Apple Silicon 原生版本怎么办?

答: 那么你已经得到了答案:如果你升级,该应用将在 macOS 28 上停止工作。你应该立即开始评估替代方案。开发者不支持 Apple Silicon 的决定是一个商业决策 —— 这意味着他们要么放弃了 Mac 开发,要么他们的用户群不足以支撑这笔投资。无论哪种情况,这都信号着你应该在没有该应用的情况下进行规划。

问:插件(音频插件、Photoshop 插件等)是否与宿主应用分开?

答: 是的,这是一个关键点。像 Logic Pro 这样的宿主应用可以是完全原生的 Apple Silicon,但它加载的单个插件依然可以是仅限 Intel 并需要 Rosetta 2。如果你有原生的宿主应用但插件仅限 Intel,当 Rosetta 2 被移除时,这些插件将停止加载 —— 即使宿主应用本身没问题。你需要分别审计你的宿主应用和所有插件。

问:对于偶尔使用的应用,我需要赶着更换吗?

答: 如果某个应用确实属于“很少使用”类别,你还有时间直到 2027 年秋季 macOS 28 出货。这距离今天还有超过 18 个月的时间。无需匆忙 —— 但请将其加入清单,并在 12 个月后重新查看是否出现了原生版本,或原生替代品是否已经成熟。

问:我如何检查准备在 App Store 购买的应用是否为原生?

答: 在 App Store 的产品页面上,向下滚动到“信息”部分。查看 兼容性 字段 —— 它会列出“macOS”要求,在 类别 下你有时可以看到架构信息。更可靠的方法是,在你自己的 Apple Silicon Mac 上使用 App Store —— 如果应用只有 Intel 二进制文件,App Store 会显示兼容性限制。对于 App Store 之外的软件,开发者的网站通常会标明 Apple Silicon 支持,isapplesiliconready.com 等网站也维护着社区验证的清单。

问:Rosetta 2 真的会被移除吗,还是这只是猜测?

答: macOS 26.4 Beta 中的每次启动警告对话框是 Apple 的官方行为,而非猜测。Apple 从未对其计划无限期保留的技术添加持久的每次启动兼容性警告。2019 年移除 32 位应用(2017 年警告,2019 年移除)和 2011 年移除原始 Rosetta(2010 年警告,2011 年移除)的历史先例非常明确。确切的时间点 —— 2027 年秋季的 macOS 28 —— 是我们基于这些先例的最佳预测,但移除本身是确定的。

问:什么是 Universal Binary 2,它与原始 Universal Binary 有什么不同?

答: 原始的 Universal Binary(来自 2005-2006 年 PowerPC 到 Intel 的转型)在单个包中结合了 PowerPC 和 Intel 代码。Universal Binary 2(2020 年引入)在单个包中结合了 Intel x86_64 和 Apple Silicon ARM64 代码。底层技术(使用 Apple Mach-O 格式的“胖二进制文件”)类似,但架构不同。Universal Binary 2 是开发者今天为了同时支持 Intel 和 Apple Silicon Mac 用户所需要交付的版本。

规划你的个人转型时间表

这是一份在未来几个月内需要完成的实用清单:

2026 年 2 月 - 4 月(现在)

  • 使用系统信息或终端运行完整的应用架构审计
  • 识别机器上所有的仅限 Intel 的应用
  • 将每个应用分类为“关键”、“重要”或“遗留”
  • 研究所有关键应用是否已存在原生版本
  • 下载并安装任何现有的原生版本

2026 年 5 月 - 8 月

  • 为没有原生版本的关键 Intel 应用测试替代应用
  • 联系重要 Intel 应用的开发者询问原生构建计划
  • 分别审计插件(音频、创意软件)
  • 如有需要,做出更换应用的购买决定
  • 为任何将被替换的应用规划工作流过渡

2026 年 9 月 - 12 月(macOS 27 发布)

  • 查看 macOS 27 发行说明,了解 Rosetta 2 行为的任何更改
  • 如果硬件支持,升级到 macOS 27(仅限 Apple Silicon)
  • 重新运行应用审计 —— 可能会出现更多原生版本
  • 完成任何剩余 Intel 应用的更换策略

2027 年(最终准备年)

  • 关注应用开发者的原生构建公告
  • 开始从 Intel 应用到原生替代品的最终过渡
  • 在 macOS 28 发布前,在 macOS 27 上测试所有关键工作流应用
  • 目标是在 2027 年秋季之前实现零 Rosetta 2 依赖

更宏大的背景:Apple Silicon 五年之后

macOS 26.4 Beta 的警告对话框标志着 Apple Silicon 历史上一个有意义的时刻。在 2020 年 11 月 M1 发布五年后,Apple 正在发出信号,正式结束使转型对大多数用户来说感觉无缝的兼容性桥梁。

按历史标准衡量,这次转型非常顺利。2005-2006 年的 PowerPC 到 Intel 转型曾严重中断了许多专业用户的工作流。而 Apple Silicon 的转型,由于 Rosetta 2 的性能和原生应用开发的飞速发展,对大多数 Mac 用户来说基本上是不可察觉的。开发者迅速移植了应用,Apple Silicon 的性能优势显著,在 M1 发布后的两年内,大多数主流软件都已原生运行。

Apple Silicon —— 转型五年后,Mac 平台比以往任何时候都更快、更高效、更强大

剩下的是专业、小众和遗留软件的漫长尾声。macOS 28 发布前 18 个月的警告期是 Apple 对这种长尾效应存在的认可,并需要时间来解决。这些警告并不是为了引起恐慌 —— 它们是信息性的。大多数保持主流软件更新的 Mac 用户已经做好了准备。需要采取行动的是那些运行专门专业工具、音频制作插件、科学软件和企业应用的用户。

对于 2026 年 2 月阅读本文的绝大多数 Mac 用户来说,实际的行动很简单:运行审计,找到你的 Intel 应用,并花一个下午研究是否存在或即将推出原生版本。在大多数情况下,你会发现你的暴露程度比你担心的要小。


相关阅读

有关 macOS Tahoe 和向仅限 Apple Silicon 计算转型的更多信息:


macOS 26.4 Beta 1 的警告对话框最初由 MacRumors、9to5Mac 和 AppleInsider 于 2026 年 2 月 16-17 日报道。本文中的架构信息、时间线预测和开发者建议基于 Apple 已记录的平台转型历史、官方 Xcode 文档和既定的 macOS 弃用模式。