*-apple-ios
Apple iOS / iPadOS 目标平台。
级别:2 (无主机工具)
aarch64-apple-ios
:ARM64 上的 Apple iOS。aarch64-apple-ios-sim
:ARM64 上的 Apple iOS 模拟器。x86_64-apple-ios
:64 位 x86 上的 Apple iOS 模拟器。
级别:3
armv7s-apple-ios
:Armv7-A 上的 Apple iOS。i386-apple-ios
:32 位 x86 上的 Apple iOS 模拟器。
目标平台维护者
要求
这些目标平台是交叉编译的,需要相应的 iOS SDK (iPhoneOS.sdk
或 iPhoneSimulator.sdk
),由 Xcode 提供。要构建 ARM64 目标平台,需要 Xcode 12 或更高版本。
可以使用常见的 SDKROOT
环境变量将 SDK 的路径传递给 rustc
。
操作系统版本
最低支持版本为 iOS 10.0。
可以通过更改部署目标来提高每个二进制文件的最低支持版本。rustc
遵循 Xcode 使用的常见环境变量来实现此目的,在本例中为 IPHONEOS_DEPLOYMENT_TARGET
。
构建目标平台
级别 2 的目标平台通过 rustup
分发,可以使用以下命令之一安装
$ rustup target add aarch64-apple-ios
$ rustup target add aarch64-apple-ios-sim
$ rustup target add x86_64-apple-ios
级别 3 的目标平台可以通过在 config.toml
中为 rustc
构建启用它们来构建,例如添加
[build]
target = ["armv7s-apple-ios", "i386-apple-ios"]
使用不稳定的 -Zbuild-std
和 nightly Cargo 也可能有效。
构建 Rust 程序
如果 rustc
构建时支持这些目标平台,则可以通过指定 --target
来为这些目标平台构建 Rust 程序。例如
$ rustc --target aarch64-apple-ios your-code.rs
测试
目前不支持运行 Rust 或标准库测试套件。测试主要通过手动完成,方法是将静态库构建嵌入到 Xcode 或模拟器调用的应用程序中。
希望将来可以改进这一点。