Skip to main content

为 iOS 构建和测试

本指南介绍如何通过将 iOS 设备连接到 Unity 来在 iOS 上测试您的 VRChat 内容。构建和测试功能允许您快速测试世界和 Avatar,而无需发布它们。

构建和测试的设置​

要使用 iOS 的构建和测试功能,您必须设置 Unity 项目并将 iOS 设备连接到 SDK。

设置 iOS Build Support Unity 模块​

您必须安装 Unity 的 iOS Build Support 模块才能构建或发布 iOS 上的 VRChat 内容。请按照以下步骤安装:

  1. 打开 Unity Hub 并导航到左侧的"Installs"。
  2. 找到您的项目使用的 Unity 版本的安装(当前推荐版本是 2022.3.22f1)。
  • 如果您的安装列表在编辑器路径下方显示了"iOS",则说明该模块已安装,您可以设置您的项目。

安装了 iOS 模块的 Unity 安装

  1. 点击该安装旁边的齿轮图标,然后点击"Add modules"。
  2. 找到"iOS Build Support"并勾选旁边的框。
  3. 点击继续以安装 iOS Build Support 模块。

现在您应该能够为 iOS 构建世界和 Avatar 了。

设置您的项目以 iOS 为目标​

  1. 通过选择"VRChat SDK"->"Show Control Panel"打开 SDK 面板,然后选择 Builder 选项卡。

  2. 找到"Select Platform"部分并将其更改为"iOS"。

  3. 将平台切换到 iOS 后,您应该在控制台中看到 [VTP] Listening on port 9002...。 如果看不到,请参阅调试步骤。

VRChat 测试协议​

iOS 的构建和测试功能使用 VRChat 测试协议 (VTP) 来促进 SDK 与 iOS 设备之间的通信。

SDK 使用 VTP 通过本地网络将世界和 Avatar 文件发送到您的 iOS 设备,因此您可以立即在 iOS 客户端中看到构建结果。

将 SDK 连接到您的 iOS 设备​

您可以通过在 iOS 应用设置中输入 SDK 机器的本地 IP 地址来将 SDK 连接到您的 iOS 设备。

  1. 在 SDK 设置选项卡中点击"Show Local IP Address"按钮,找到运行 SDK 的机器的本地 IP 地址。
  2. 将在 SDK 设置面板中找到的本地 IP 地址输入到 iOS 应用设置中的"Settings"->"Apps"->"VRChat"->"SDK IP Address"。
  3. 启动 VRChat 并按下"Play"按钮进入一个世界。
  4. 加载到世界后,应用可能会请求本地网络通信权限。您必须允许此权限,VRChat 测试协议才能与您的设备通信。
  5. 接受本地网络权限后,检查 SDK 控制台以确认连接是否成功。您应该看到 [VTP] Client connected. 以及有关所连接设备的详细信息。如果看不到,请参阅调试步骤。
  6. 现在您可以点击 Build and Test 直接在 iOS 设备上测试内容。

测试 Avatar 时,您可以在主菜单的 Avatar 部分下的"SDK Test Avatars"选项卡中找到它们。

选择测试 Avatar 后,再次构建该 Avatar 时您将自动切换到最新版本。

调试连接问题​

如果您发现无法在 iOS 设备和 SDK 之间建立连接,请按照以下步骤进行调试。

  • 如果在 SDK 中切换到 iOS 平台后没有看到 [VTP] Listening on port 9002...,请确保没有其他编辑器打开并选择了 iOS。另外,确保没有其他正在运行的应用程序使用端口 9002,因为一次只能有一个应用程序打开该端口。

  • 如果您在控制台中确实看到 [VTP] Listening on port 9002...,但仍无法建立连接:

  • 确保 SDK 设置选项卡中显示的 IP 地址与 VRChat iOS 应用设置页面中"Settings"->"Apps"->"VRChat"->"SDK IP Address"的 IP 地址匹配。

  • 确保 SDK 机器和 iOS 设备在同一个 Wi-Fi 网络上。

  • 确保您已在 iOS 设备上允许本地网络访问。可以在"Settings"->"Privacy & Security"->"Local Network"中找到。找到 VRChat 应用并启用权限。

  • 确保您已在 SDK 机器上允许本地网络访问。在 Windows 上,本地网络访问请求会显示为标题为"Windows Security"的提示,您必须勾选公用网络复选框并点击"Allow access"。

Windows 本地网络访问权限提示

  • 您可能之前拒绝过访问权限,因此提示不再出现。在这种情况下,您必须在 Windows Defender 防火墙中找到该规则并允许它。

    • 要快速测试是否是此问题,您可以暂时禁用防火墙,但按照以下步骤允许 Unity 访问本地网络更安全。
  • 在 Windows 上启用 Unity 编辑器的本地访问:

    1. 搜索"Firewall",找到"Windows Defender firewall",然后查找"Inbound Rules"。
    2. 在入站规则列表中,查找标题为"Unity Editor"的规则
    3. 删除所有标题为"Unity Editor"且带有红色圆圈和叉号的规则

被禁用的 Unity Editor Windows 防火墙规则

  1. 重新启动 Unity 编辑器。启动后(并选择了 iOS 作为平台),您应该会看到"Windows Security"询问本地网络权限。

VPN 使用

  • 由于 VTP 通过本地网络通信,根据 VPN 配置的不同,使用 VPN 可能会阻止 SDK 和 iOS 设备建立连接。建议在使用 VTP 时禁用 VPN。