.NET MAUI iOS 应用的无线部署

Visual Studio 不需要使用 USB 线将 iOS 设备连接到 Mac,即可部署和调试 .NET Multi-platform App UI (.NET MAUI) 应用,是通过无线方式将 .NET MAUI iOS 应用部署到设备上并进行无线调试。 为此,必须将 iOS 设备与 Mac 上的 Xcode 配对。 配对完成后,可从 Visual Studio 的设备目标列表中选择设备。

重要

.NET MAUI iOS 应用必须先预配,然后才能部署到设备进行测试和调试。 有关详细信息,请参阅iOS 设备预配

配对 iOS 设备

执行下列步骤,配对 iOS 设备与 Mac 上的 Xcode:

  1. 确保 iOS 设备与 Mac 连接到同一无线网络。

  2. 使用 USB 数据线将 iOS 设备插入 Mac。

    注意

    首次将 iOS 设备连接到 Mac 时,需要点击设备上信任此计算机对话框中的“信任”按钮。

  3. 打开 Xcode,并单击窗口>设备和模拟器 在显示的窗口中,单击“设备”

  4. “设备和模拟器”窗口中的左栏中,选择设备。 然后,在详细信息区域选择“通过网络连接”复选框:

    显示“通过网络连接”选项的“设备和模拟器”窗口的屏幕截图。

    Xcode 与 iOS 设备配对。

  5. “设备和模拟器”窗口的左栏中,已配对的连接设备旁会出现一个网络图标:

    显示已配对 iOS 设备的“设备和模拟器”窗口的屏幕截图。

  6. 断开 USB 电缆的连接,并检查设备是否保持配对状态。

Xcode 将保留配对设置,因此设备不应再次配对。

取消 iOS 设备配对

执行下列步骤,从 Mac 上的 Xcode 取消 iOS 设备配对:

  1. 确保 iOS 设备与 Mac 连接到同一无线网络。

  2. 打开 Xcode,并单击窗口>设备和模拟器 在显示的窗口中,单击“设备”

  3. “设备和模拟器”窗口的左栏中,选择已配对的设备。 然后,右键单击设备,选择“未配对设备”项。

    显示即将取消配对的已配对 iOS 设备的“设备和模拟器”窗口的屏幕截图。

部署到设备

将设备无线配对到 Xcode 后,预配的 .NET MAUI iOS 应用可以通过 Visual Studio 无线部署到设备:

  1. 确保 iOS 设备无线配对到 Mac 生成主机。 有关详细信息,请参阅配对 iOS 设备

  2. 在 Visual Studio 中,请确保 IDE 已与 Mac 生成主机配对。 有关详细信息,请参阅与 Mac 配对以进行 iOS 开发

  3. 在 Visual Studio 工具栏中,使用“调试目标”下拉菜单选择 “iOS 远程设备”,然后选择连接到 Mac 生成主机的设备:

    在 Visual Studio 中选择远程设备。

  4. 在 Visual Studio 工具栏中,按绿色“开始”按钮,即可在远程设备上启动应用:

    Visual Studio iOS 设备调试目标选择。

注意

另一种将 .NET MAUI iOS 应用部署到设备的方法是使用热重启。 热重启可从 Visual Studio 将 .NET MAUI 应用部署到 64 位本地 iOS 设备,而无需 Mac 生成主机。 有关详细信息,请参阅使用热重启部署 iOS 应用

疑难解答

  • 确保 iOS 设备与 Mac 连接到同一个网络。
  • 确保设备预配。 有关预配的详细信息,请参阅 iOS 的设备预配
  • 验证 Xcode 是否可以看到设备:
    • 在 Xcode 中,选择“窗口”>“设备和模拟器”,然后在出现的窗口中单击“设备”。 设备应当出现在“已连接”下方。
  • Ping 设备:
    • 找到设备的 IP 地址。 在设备上打开“设置”,点击“Wi-Fi”,然后点击处于活动状态的网络旁边的信息按钮。

    • 在 Mac 上,打开“终端” 并且依次键入 ping 与设备的 IP 地址。 如果 Mac 可以看到设备,那么你将收到类似于以下内容的输出:

      PING 192.168.1.107 (192.168.1.107): 56 data bytes
      64 bytes from 192.168.1.107: icmp_seq=0 ttl=64 time=121.015 ms
      64 bytes from 192.168.1.107: icmp_seq=1 ttl=64 time=28.387 ms
      64 bytes from 192.168.1.107: icmp_seq=2 ttl=64 time=49.890 ms
      64 bytes from 192.168.1.107: icmp_seq=3 ttl=64 time=72.283 ms
      

      如果出现错误,则输出将为 Request timeout for icmp_seq 0。 如果无法 ping 设备,则会阻止 Internet 控制消息协议 (ICMP),或者存在另一个连接问题。

  • 确保 62078 端口已打开。
  • 使用以太网电缆将设备连接至网络:
    • 使用闪电转 USB 相机适配器和 USB 转以太网适配器。
  • 重新配对 iOS 设备: