Rust新版本提升Apple平台的系统最低支持版本
声明
从Rust 1.74
(将于2023年11月16日发布)开始,Rust
工具链支持的Apple
平台(iOS
、macOS
和tvOS
)的最低版本将提升到更新的基线。这次更新影响到Rust
编译器-rustc
,最重要的是,影响到标准库和使用它生成的任何二进制文件。这次更新后,生成的任何二进制文件都将停止在旧版本上加载,或者启动后出现其他异常行为。
新的最低支持版本为:
- macOS:10.12 Sierra(2016年首次发布)
- iOS:10(2016年首次发布)
- tvOS:10(2016年首次发布)
如果您的应用程序不以macOS 10.7-10.11或iOS 7-9为编译目标,则这次更新不会影响您。
受影响的编译目标
下面列出受影响的目标及其综合影响:
- i386-apple-ios - 操作系统最低支持版本提升。
- i686-apple-darwin - 操作系统最低支持版本提升。
- x86_64-apple-darwin - 操作系统最低支持版本提升。
- x86_64-apple-ios - iOS和macOS操作系统最低支持版本提升。同时这个也是模拟器的编译目标。
- x86_64-apple-tvos - iOS和macOS操作系统最低支持版本提升。同时这个也是模拟器的编译目标。
- aarch64-apple-ios - 操作系统最低支持版本提升。
- aarch64-apple-ios-sim - iOS和macOS操作系统最低支持版本提升。
- aarch64-apple-tvos - 操作系统最低支持版本提升。
- armv7-apple-ios - 编译目标已删除。最古老的iOS10兼容设备使用ARMv7s。
- armv7s-apple-ios - 操作系统最低支持版本提升。
这次更新仅完全删除了一个目标:armv7-apple-ios
。
请注意,Mac Catalyst
和 M1/M2 Mac
(aarch64
)编译目标不受影响,因为它们的最低操作系统版本已经具有更高的基准。
更新原因
这次更新之前,Rust
声称支持非常旧的Apple OS
版本,但许多版本从未接受过测试或支持。对于苹果的移动平台,由于App Store
的发布限制,新软件也无法发布到早期的操作系统版本上。
此外,过去两年已经清楚地表明,苹果对这些目标的工具链有严格的控制,这使得它很难再支持它们。从去年的工具链发布的XCode 14
开始,许多旧操作系统版本的构建变得不受支持,XCode 15
延续了这一趋势。
我们希望Rust
成为开发Apple
平台软件的一流选择,但要继续实现这一目标,我们必须设置一个更简单、更现实的兼容性基线。这次更新是在调查了Apple
和第三方统计数据后确定的,并选择了一个平衡兼容性与需求和限制的中间立场。
信息来源
本文来自于对Rust Blog: Increasing the minimum supported Apple platform versions的简化翻译。