*-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.sdkiPhoneSimulator.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 或模拟器调用的应用程序中。

希望将来可以改进这一点。