Daxia Blog
Uncategorized | Rust | WebUI | FHIR | CyberSecurity | KB | Javascript

Rust新版本提升Apple平台的系统最低支持版本

声明

Rust 1.74(将于2023年11月16日发布)开始,Rust工具链支持的Apple平台(iOSmacOStvOS)的最低版本将提升到更新的基线。这次更新影响到Rust编译器-rustc,最重要的是,影响到标准库和使用它生成的任何二进制文件。这次更新后,生成的任何二进制文件都将停止在旧版本上加载,或者启动后出现其他异常行为。

新的最低支持版本为:

  • macOS:10.12 Sierra(2016年首次发布)
  • iOS:10(2016年首次发布)
  • tvOS:10(2016年首次发布)

如果您的应用程序不以macOS 10.7-10.11iOS 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 CatalystM1/M2 Macaarch64)编译目标不受影响,因为它们的最低操作系统版本已经具有更高的基准。

更新原因

这次更新之前,Rust声称支持非常旧的Apple OS版本,但许多版本从未接受过测试或支持。对于苹果的移动平台,由于App Store的发布限制,新软件也无法发布到早期的操作系统版本上。

此外,过去两年已经清楚地表明,苹果对这些目标的工具链有严格的控制,这使得它很难再支持它们。从去年的工具链发布的XCode 14开始,许多旧操作系统版本的构建变得不受支持,XCode 15延续了这一趋势。

我们希望Rust成为开发Apple平台软件的一流选择,但要继续实现这一目标,我们必须设置一个更简单、更现实的兼容性基线。这次更新是在调查了Apple和第三方统计数据后确定的,并选择了一个平衡兼容性与需求和限制的中间立场。

信息来源

本文来自于对Rust Blog: Increasing the minimum supported Apple platform versions的简化翻译。

About Daxia
我是一名独立开发者,国家工信部认证高级系统架构设计师,在健康信息化领域与许多组织合作。具备大型卫生信息化平台产品架构、设计和开发的能力,从事软件研发、服务咨询、解决方案、行业标准编著相关工作。
我对健康信息化非常感兴趣,尤其是与HL7和FHIR标准的健康互操作性。我是HL7中国委员会成员,从事FHIR培训讲师和FHIR测评现场指导。
我还是FHIR Chi的作者,这是一款用于FHIR测评的工具。