类似 iOS 平台的本机 AOT 支持

从 .NET 9 开始,本机 AOT 支持面向类似于 iOS 的平台。 类似于 iOS 的平台 是指使用类似 API 的 Apple 平台,例如:iOS、MacCatalyst 和 tvOS。

根据用例,支持可以分为:

  • 对引用操作系统特定 API 的应用程序和库的支持
  • 支持没有特定于 OS 的 API 依赖项的应用程序和库

支持引用特定于 OS 的 API 的应用程序和库

这指的是为特定操作系统的框架设计的 .NET MAUI 项目(如: net9.0-ios)。 如何为 .NET MAUI 应用启用 Native AOT,请参阅 iOS 和 Mac Catalyst 上的 Native AOT 部署

支持没有特定于 OS 的 API 依赖项的应用程序和库

这指的是面向常规或非 OS 特定目标框架的 .NET 项目(例如:net9.0),可通过以下方式启用本机 AOT:

  1. 在项目文件中包括以下属性:

    <PublishAot>true</PublishAot>
    <PublishAotUsingRuntimePack>true</PublishAotUsingRuntimePack>
    
  2. 指定适当的运行时环境标识符(稍后称为 <rid>),将项目发布到预期的类似 iOS 的目标平台。

    • ios-arm64,适用于 iOS 硬件设备
    • iossimulator-arm64 或者 iossimulator-x64,面向 iOS 模拟器
    • maccatalyst-arm64maccatalyst-x64,用于 Mac Catalyst
    • tvos-arm64,适用于 tvOS 物理设备
    • tvossimulator-arm64 或者 tvossimulator-x64,适用于tvOS模拟器

    并执行以下命令:

    dotnet publish -r <rid>
    

有关在类似于 iOS 的平台上生成和使用本机库的详细信息,请参阅如何使用面向类似于 iOS 平台的本机 AOT 创建和使用自定义框架