苹果公司发布了一份关于 Rosetta 的技术公告,确认今年的 macOS Tahoe 将是最后一款兼容英特尔芯片 Mac 电脑的系统版本。
作为从英特尔平台向 Apple Silicon 过渡的重要工具,Rosetta 将在接下来发布的两个 macOS 大版本中获得持续支持,并将延续至 macOS 27 系统。其主要功能依然是帮助开发者在迁移过程中继续运行基于英特尔架构的应用程序。
在 macOS 27 系统之后,苹果计划仅保留 Rosetta 的部分核心功能,主要用于支持那些依赖英特尔框架但已停止维护的经典游戏作品。

Rosetta 本质上是一种动态代码翻译机制,它让搭载 Apple Silicon 的设备能够运行包含 x86_64 指令的应用程序。当系统检测到可执行文件仅包含英特尔指令集时,便会自动启动 Rosetta 进行实时翻译,并运行转换后的程序代码。由于翻译过程需要消耗系统资源,用户可能会感觉到应用启动或运行时的响应速度有所降低。
苹果在技术文档中说明,系统会优先执行原生 ARM64 架构的应用程序。对于同时支持两种架构的应用程序,用户可以通过访达的“显示简介”窗口手动启用 Rosetta 模式,以便兼容尚未更新的传统插件。
需要特别注意的是,macOS 系统层面不允许在同一进程内混合运行 ARM64 与 x86_64 代码。Rosetta 的翻译机制适用于整个应用程序进程,包括运行时动态加载的模块。开发者可以通过调用 sysctlbyname 函数并检查 sysctl.proc_translated 状态标志,来判断当前应用是否运行在 Rosetta 翻译模式下。
官方还详细列出了 Rosetta 的技术适配范围。该翻译器能够兼容大多数英特尔架构应用,包括带有即时编译功能的程序,但以下类型不在支持范围内:
内核扩展程序
x86_64 平台虚拟机应用
Rosetta 可处理包括 AVX 和 AVX2 在内的全系 x86_64 指令集,但尚未支持 AVX512 指令。如果开发者需要调用这些指令,建议先通过 sysctlbyname 函数检查系统是否支持 hw.optional.avx512f 硬件特性。
