399

最近在 Xcode 9、iOS 11 和 tvOS 11 中添加了无线调试功能。Apple TV 4K 没有 USB 端口,因此需要无线调试。您如何在 Xcode 中执行此无线调试?

4

20 回答 20

685

设置设备进行网络调试

来自 help.apple.com

通过 Wi-Fi 或其他网络连接调试在 iOS 或 tvOS 设备上运行的应用。

设置 iPhone、iPad 或 iPod touch 的步骤

  1. 检查您的设备是否有密码,如果没有,请添加密码。您的设备必须有密码才能启用远程调试

  2. Mac 和 iPhone/iPad 需要在同一网络上才能使用无线调试。

接下来,在 Xcode 中

  1. 选择Window > Devices and Simulators,然后在出现的窗口中,单击Devices
  2. 使用 Lightning 线缆将您的设备连接到 Mac。
  3. 在左栏中,选择设备,然后在详细信息区域中,选择通过网络连接

在此处输入图像描述

Xcode 与您的设备配对。如果 Xcode 可以使用网络与设备连接,则左栏中的设备旁边会出现一个网络图标。

在此处输入图像描述

  1. 断开您的设备。

现在您已准备好通过网络进行调试。

有时它不起作用。您可能需要重新启动设备或网络连接

注意:网络调试需要在macOS 10.12.4或更高版本上运行Xcode 9.0或更高版本,而在设备上则需要iOS 11.0或更高版本,或者tvOS 11.0或更高版本。


设置 Apple TV 的步骤:

  1. 确保您的 Mac 和 Apple TV 在同一网络上。

  2. 选择Window > Devices and Simulators,然后在出现的窗口中,单击Devices

  3. 在 Apple TV 上,打开“设置”应用并选取“遥控器和设备” > “遥控器应用和设备” 。

  4. Apple TV 会搜索可能的设备,包括 Mac。(如果您有任何防火墙或 Internet 安全,请禁用/关闭它以允许搜索。)

  5. 在 Mac 上,在“设备”面板中选择 Apple TV。Apple TV 的窗格随即显示并显示连接请求的当前状态。

  6. 将 AppleTV 上显示的验证码输入到设备的“设备”窗口窗格中,然后单击“连接” 。

Xcode 设置 Apple TV 以进行无线调试并与设备配对。

在此处输入图像描述

在此处输入图像描述

于 2017-06-06T07:10:07.810 回答
66

我尝试使用 Xcode 设备窗口的通过网络连接选项。但我看不到设备名称旁边的“通过网络连接”图标。同样,只要卸下 USB,“通过网络连接”选项就会消失。此外,设备名称显示在断开连接的设备列表下。

但是使用“通过 IP 地址连接...”选项,我可以连接。

  1. 右键单击设备名称(在已断开连接列表下)并选择“通过 IP 地址连接...”选项。

在此处输入图像描述

  1. 输入设备的 IP 地址并选择连接。(您可以通过移动设备设置> Wi-Fi > 选择wifi名称找到) 在此处输入图像描述
于 2017-10-13T02:52:41.700 回答
48

如果您已完成Surjeet 给出的所有步骤,但仍未获得网络连接图标,请按照以下步骤操作:

  1. 使用右键单击“已连接”部分中的设备取消配对设备。

    在此处输入图像描述

  2. 重新连接设备。

  3. 单击弹出窗口左侧末尾的“+”按钮。

在此处输入图像描述

  1. 选择设备并单击下一步按钮

在此处输入图像描述

  1. 单击设备中的信任密码(如果可用)

在此处输入图像描述

  1. 单击完成按钮。

在此处输入图像描述

  1. 现在,单击通过网络连接

在此处输入图像描述

现在您可以在设备名称后面看到网络连接图标。享受!

在此处输入图像描述

于 2017-09-20T11:19:51.627 回答
22

先决条件

  • 您的 Mac 机器应该至少有 Mac OSX 10.12.4 或更高版本
  • 您的 iOS 设备应至少具有 iOS 11.0 或更高版本
  • 两台设备应该在同一个网络上。

激活步骤

  • 通过电缆将您的 iOS 设备插入 Mac 机器。

  • 打开 Xcode 然后从顶部菜单 Window -> Devices and Simulators

  • 选择设备段并从左侧设备列表中选择您想要的设备。

  • 在右侧,您可以看到打开的通过网络连接,启用此选项,如附图所示。 通过网络连接

  • 几秒钟后,您可以在设备前面看到网络标志。 在此处输入图像描述

  • 拔下您的设备并像正常使用一样使用调试。

谢谢

于 2017-06-07T10:03:58.283 回答
19

如果按照Surjeet 所述的步骤操作后仍无法连接,请尝试关闭计算机的 Wi-Fi 并重新打开。这对我有用。

另外,请务必信任 iOS 设备上的开发者证书(设置 - 常规 - 配置文件和设备管理 - 开发者应用程序)。

于 2017-06-11T09:42:09.647 回答
14

网络调试需要在 macOS 10.12.4 或更高版本上运行 Xcode 9.0 或更高版本,而在设备上则需要 iOS 11.0 或更高版本,或者 tvOS 11.0 或更高版本。

苹果手机

iOS 11将不适用于 32 位设备,即 iPhone 5 和 iPhone 5c 及更低版本。第一款 64 位 iPhone 是 5s。

iPad

iPad mini 2 将是最古老的支持 iOS 11 的 iPad。

iPod

iPod 必须是 iPod 6 才能运行 iOS。

如果您的设备不仅用于开发,还用于生产,请注意 beta 操作系统不适合胆小的人 ;-)

于 2017-06-06T20:17:58.040 回答
12
于 2017-06-06T07:39:16.543 回答
10

我刚刚在 WWDC 上与一些 Xcode 工程师交谈过,iDevices 的自动发现仍然有点问题。有时您的手机也无法正确广播。打开和关闭设备会有所帮助。

有一些解决方法/后备方案:

您可以使用 Bonjour 浏览器 (www.tildesoft.com) 检查您的手机是否正在广播。查看您的 wifi 地址是否列在名为“_apple-mobdev2._tcp”的服务下。- 215'(您可以在此处找到您的 wifi 地址:设置 > 常规 > 关于 > wifi 地址。

作为后备,您可以通过手动输入 IP 地址连接到您的设备(在“设备”窗口中右键单击您的设备)。但是,此 IP 地址将被保留,因此如果您更改网络,则需要重置此地址。该选项在 Xcode 中尚不可用,但您可以通过终端使用以下命令执行此操作:

defaults read com.apple.dt.Xcode | grep IDEIDS

这将打印您需要在下一个命令中使用的标识符:

defaults delete com.apple.dt.Xcode <identifier>

现在ip地址被清除了,你可以输入一个新的。

最后一个选项是创建一个计算机到计算机的网络。这很好用,但从逻辑上讲,您将无法访问互联网。

于 2017-06-07T21:40:30.577 回答
5

我遵循了所有建议的步骤,特别是 ios_dev 提供的步骤,但 Xcode 无法识别我的 iPhone,我无法通过 WiFi 进行调试。右键单击“设备和模拟器”窗口中我的 iDevice 上的左侧面板,然后“通过 IP 地址连接...”,插入 iPhone IP,现在它可以正常工作了

于 2017-09-28T09:50:54.580 回答
5

对于无线调试,Mac 系统和 iPhone/设备应该在同一网络上。 要在同一网络上制作,您可以执行以下操作 - 您可以在 Mac 上启动热点并在 iPhone/设备上连接,反之亦然。

在 Mac 上

在此处输入图像描述

或者

在 iPhone 上-

在此处输入图像描述

Xcode ► 窗口 ► 设备和模拟器 ► 选择设备选项卡 ► 单击通过网络连接 在此处输入图像描述

https://help.apple.com/xcode/mac/9.0/index.html?localePath=en.lproj#/devbc48d1bad

于 2017-12-06T06:08:40.120 回答
5

您可以打开 Xcode 帮助 -> 运行和调试 -> 网络调试以获取更多信息。希望能帮助到你。

于 2017-06-06T07:02:18.647 回答
4

我的问题是关于网络 SSID 广播。

我已经尝试了上述所有解决方案,但仍然无法连接我的设备,我的设备根本没有“地球”图标。然后我发现由于某种原因我的网络已经关闭了它的 SSID 广播(我仍然可以通过手动输入 SSID 来连接网络)。打开 SSID 广播后,我可以通过“通过 IP 地址连接...”连接我的设备。

于 2017-10-26T12:58:40.900 回答
3

尝试这个:

  1. 使用避雷线将您的 iOS 设备插入 Mac。您可能需要在您的设备上选择信任此计算机。

  2. 打开 Xcode 并转到Window > Devices and Simulators

  3. 选择您的设备,然后选择通过网络连接复选框以配对您的设备。

  4. 卸下照明电缆后运行您的项目。

于 2019-10-08T11:03:04.833 回答
3

唯一对我有用的是使用蓝牙将我的手机连接到我的 MacBook。(根据上面 ios_dev 的回答,我在通过电缆连接时首先将手机与 Xcode 配对后执行了此操作。)

在我的手机上,我转到“设置”>“蓝牙”,然后在“我的设备”下点击我的 MacBook 的名称进行连接。

然后我转到 Xcode > 设备和模拟器,选择我的手机并选中“通过网络连接”。几秒钟后,地球图标出现在我的手机旁边,我可以在手机上运行和调试我的应用程序。

即使我的 MacBook 连接到 WiFi 网络并且我的手机使用 LTE,这仍然有效。唯一的缺点是将应用程序安装到手机上速度很慢。

于 2019-08-26T20:45:24.470 回答
3

我尝试了所有答案,但对我没有任何帮助。我最终连接到不同的 WiFi 网络,然后我能够进行无线调试。

我不知道为什么它不适用于旧网络

于 2017-11-21T07:02:59.780 回答
2

Xcode 9 - 有关详细信息,请转到帮助 -> 将无线设备与 Xcode(iOS、tvOS)配对

于 2017-10-13T07:26:23.430 回答
1

我可以让它工作的唯一方法是如果我的 Mac 和我的 iPhone 在不同的网络上。我有一个主 DSL 调制解调器,称为 network1,第二个 network2 为我们设置了一个接入点。它们具有 SSID 网络 1 和网络 2。如果电话在network1上,而mac在network2上,它会工作,反之亦然。但是,如果两者都在 network1 上或两者都在 network2 上,它将无法正常工作。

于 2018-06-20T04:36:16.103 回答
1

第 1 步:第一次用电缆连接手机

第 2 步:转到管理器和设备

第 3 步:勾选连接为网络

现在简单的技巧,每次都有效。

第 4 步:在 iPhone 上打开热点

第 5 步:将您的 Mac 与该热点连接。

第 6 步:现在运行代码。

这将始终有效。

于 2020-12-22T09:02:17.307 回答
1

大声笑,我在这里做了所有的步骤——我最终做了“由 Surjeet 给出”答案中的取消配对/修复步骤。它不起作用,然后我注意到当我单击“通过网络连接”按钮时,会弹出与您修复时弹出的相同的黄色框,说“忙” - 我很沮丧,刚刚开始敲击“通过网络连接”按钮,快速单击它可能会单击 15 到 20 次 - 它开始出现异常,但最终能够连接到网络。在此之前,我还关闭了我的wifi并再次打开它,正如其中一个答案所建议的那样,但是点击“通过网络连接”按钮真的很快就成功了......哈哈

此外,在我敲击按钮之前,我链接了设备支持文件夹,尽管我不确定它是否有任何作用:

打开终端

cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

ln -s 13.3 13.4

ls -l 13.4

重启 Xcode 并在设备上重试运行

据说在这里做 - https://forums.developer.apple.com/thread/126940 - 我在评论中编辑了文件夹版本以适应最新版本的 iOS 13.4。

编辑 我相信我知道我的问题是什么,我不得不停止我的Little Snitch网络过滤器。此外,在我能够通过敲击按钮进行连接后,当您在 xcode 的设备管理器中右键单击设备时,下拉菜单中会出现“通过 IP 地址连接”选项,在我能够连接之前它不存在超hacky风格第一次。如果我连接,然后打开我的网络过滤器,它会断开我的手机。

于 2020-04-19T02:33:39.563 回答
1

使用 USB 端口启用 Internet 共享:

在此处输入图像描述

于 2019-05-23T19:07:27.113 回答