使用 .NET CLI 生成 iOS 应用

本教程介绍如何使用 macOS 上的 .NET 命令行接口 (CLI) 在 iOS 上创建和运行 .NET Multi-platform App UI (.NET MAUI) 应用:

  1. 要创建 .NET MAUI 应用,需要下载并运行最新 .NET 运行时的安装程序。 你还需要下载并安装最新版本的 Xcode,该版本也可从 Mac 上的 App Store 应用获得。

  2. 在 Mac 上,打开终端,并检查是否已安装最新 .NET 运行时:

    dotnet --version
    
  3. 终端中,安装 .NET MAUI 的最新公共版本:

    sudo dotnet workload install maui --source https://api.nuget.org/v3/index.json
    

    此命令将安装最新发布的 .NET MAUI 版本,包括所需的平台 SDK。

  4. 终端中,使用 .NET CLI 创建新的 .NET MAUI 应用:

    dotnet new maui -n "MyMauiApp"
    
  1. 在终端中,将目录更改为 MyMauiApp,然后生成并运行应用:

    cd MyMauiApp
    dotnet build -t:Run -f net8.0-ios
    

    dotnet build 命令将还原项目依赖项,生成应用,并在默认模拟器中启动它。

  2. 在默认模拟器中,多次按“单击我”按钮,并观察按钮单击次数的计数是否递增。

    在默认 iOS 模拟器中运行的 .NET MAUI 应用。

使用特定版本的 Xcode 进行生成

如果在 Mac 上安装了多个版本的 Xcode,则可以指定生成应用时应使用哪个 Xcode 版本。 有许多方法可用于实现此目的,但建议的方法是将 MD_APPLE_SDK_ROOT 环境变量设置为 Xcode 版本的路径。

警告

不建议使用 xcode-select -s 设置 Xcode 的版本。

若要在当前终端会话的持续时间内设置 MD_APPLE_SDK_ROOT 环境变量:

  1. 打开“终端”应用程序

  2. 键入以下命令,替换为你的 Xcode 版本,然后按 Enter:

    export MD_APPLE_SDK_ROOT=/Applications/Xcode_14.1.0.app
    

如果要永久性设置此环境变量,则可以将 export 命令添加到你的 shell 配置文件,例如 .zprofile。

在特定模拟器上启动应用

可以从 Mac 的特定 iOS 模拟器上启动 .NET MAUI iOS 应用,方法是提供其唯一设备 ID (UDID):

  1. 在 Mac 上,打开 Xcode,选择“Windows”>“Devices and Simulators”菜单项,然后选择“Simulators”选项卡。

    Xcode 模拟器选项卡的屏幕截图。

  2. 右键单击所选模拟器,然后选择“Copy Identifier”以将 UDID 复制到剪贴板。

    Xcode 中复制标识符菜单选项的屏幕截图。

    或者,可以通过执行 simctl list 命令来检索 UDID 值的列表:

    /Applications/Xcode.app/Contents/Developer/usr/bin/simctl list
    
  1. 在终端中,使用 -p MSBuild 选项指定 _DeviceName MSBuild 属性,生成应用并在所选模拟器上运行它:

    dotnet build -t:Run -f net8.0-ios -p:_DeviceName=:v2:udid=MY_SPECIFIC_UDID
    

    例如,使用以下命令生成应用并在 iPhone 13 Pro 模拟器上运行它:

    dotnet build -t:Run -f net8.0-ios -p:_DeviceName=:v2:udid=E25BBE37-69BA-4720-B6FD-D54C97791E79
    
  2. 在所选模拟器中,多次按“单击我”按钮,并观察按钮单击次数的计数是否递增。

    在 iPhone 13 Pro 模拟器中运行的 .NET MAUI 应用。

在设备上启动应用

必须先预配设备,然后才能将 iOS 应用部署到该设备。 有关详细信息,请参阅 iOS 设备预配。 预配设备后,可以在设备上从 Mac 启动 .NET MAUI iOS 应用,方法是提供其唯一设备 ID (UDID):

  1. 使用 USB 线缆将设备连接到本地 Mac。

  2. 打开 Xcode,并导航到“Window”>“Devices and Simulators”

  3. 在 Xcode中,选择“Devices”选项卡,然后从连接的设备列表中选择设备。

  4. 在 Xcode中,将“Identifier”值复制到剪贴板:

    Xcode 设备和模拟器窗口,突出显示 iOS 标识符字符串位置。

    或者,右键单击设备并选择“Copy Identifier”,将 UDID 复制到剪贴板。

  1. 在终端中,使用 -p MSBuild 选项指定 _DeviceName MSBuild 属性,生成应用并在所选模拟器上运行它:

    dotnet build -t:Run -f net8.0-ios -p:RuntimeIdentifier=ios-arm64 -p:_DeviceName=MY_SPECIFIC_UDID
    

    将“MY_SPECIFIC_UDID”替换为复制到剪贴板的设备标识符。