*-apple-tvos
Apple tvOS 目标平台。
层级:3
aarch64-apple-tvos
:Apple tvOS 在 ARM64 架构上。aarch64-apple-tvos-sim
:Apple tvOS 模拟器在 ARM64 架构上。x86_64-apple-tvos
:Apple tvOS 模拟器在 x86_64 架构上。
目标平台维护者
要求
这些目标平台是交叉编译的,并且需要相应的 tvOS SDK (AppleTVOS.sdk
或 AppleTVSimulator.sdk
),由 Xcode 提供。要构建 ARM64 目标平台,需要 Xcode 12 或更高版本。
SDK 的路径可以使用通用的 SDKROOT
环境变量传递给 rustc
。
操作系统版本
支持的最低版本是 tvOS 10.0,尽管您实际可以定位的最低版本可能比这更新,例如由于 Xcode 和您的 SDK 的版本。
可以通过更改部署目标来提高每个二进制文件的版本。 rustc
尊重 Xcode 使用的通用环境变量,在这种情况下为 TVOS_DEPLOYMENT_TARGET
。
不完全支持的库功能
这些目标平台支持大多数标准库,包括分配器,据我所知,然而它们非常新,尚未经过充分测试,并且可能存在各种错误。
目前已知以下 API 存在缺失或不完整的支持
- 如果
std::process::Command
的 API 配置的方式无法使用posix_spawn
执行,则会返回错误 -- 这是因为在这些平台上禁止使用更灵活的基于fork
/exec
的方法,而推荐使用posix_spawn{,p}
(这仍然可能导致您被应用商店拒绝,因此可能仅适用于侧载)。发生这种情况的具体案例很难列举(并且会很快过时),但在某些情况下,可以通过调整Command
的调用方式来解决。
构建目标平台
可以通过在 config.toml
中为 rustc
构建启用它们来构建这些目标平台,例如添加
[build]
build-stage = 1
target = ["aarch64-apple-tvos", "aarch64-apple-tvos-sim"]
使用不稳定的 -Zbuild-std
和 nightly Cargo 也可能有效。
构建 Rust 程序
如果 rustc
在构建时支持这些目标平台,则可以通过指定 --target
来为这些目标平台构建 Rust 程序。例如
$ rustc --target aarch64-apple-tvos your-code.rs
测试
目前不支持运行 Rust 或标准库测试套件。测试主要通过手动完成,将静态库构建嵌入到从 Xcode 或模拟器调用的应用程序中。
希望将来有可能改进这一点。