*-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 功能需要将二进制文件打包。