*-apple-ios-macabi

Apple Mac Catalyst 目标平台。

级别:2(不含主机工具)

  • aarch64-apple-ios-macabi: 基于 ARM64 的 Mac Catalyst。
  • x86_64-apple-ios-macabi: 基于 64 位 x86 的 Mac Catalyst。

目标平台维护者

要求

这些目标平台是交叉编译的,需要相应的 macOS SDK (MacOSX.sdk),其中包含 ./System/iOSSupport 头文件,以便链接到 iOS 特定的头文件,如 Xcode 11 或更高版本所提供的。

可以使用通用的 SDKROOT 环境变量将 SDK 的路径传递给 rustc

操作系统版本

最低支持版本是 x86 上的 iOS 13.1 和 Aarch64 上的 14.0。

可以通过更改部署目标来提高每个二进制文件的最低支持版本。rustc 遵循 Xcode 使用的通用环境变量来实现此目的,在本例中为 IPHONEOS_DEPLOYMENT_TARGET

构建目标平台

这些目标平台通过 rustup 分发,可以使用以下命令之一安装

$ rustup target add aarch64-apple-ios-macabi
$ rustup target add x86_64-apple-ios-macabi

代码清理工具

由于 CMake 对 Mac Catalyst 的支持不佳,目前无法使用清理工具运行时,请参阅 #129069

构建 Rust 程序

如果 rustc 构建时支持这些目标平台,则可以通过指定 --target 来为这些目标平台构建 Rust 程序。例如

$ rustc --target aarch64-apple-ios-macabi your-code.rs

测试

Mac Catalyst 二进制文件可以直接在 macOS 10.15 Catalina 或更高版本上运行。

x86 二进制文件可以使用 Rosetta 在 Apple Silicon 上运行。

请注意,使用某些 UIKit 功能需要将二进制文件打包。