如何在Xcode 9中与iOS 11、Apple TV 4K等进行无线调试?

无线调试是最近在Xcode 9、iOS 11和tvOS 11中添加的功能。苹果4K电视没有USB接口,因此需要无线调试。如何在Xcode中进行无线调试?

190659 次浏览

你可以打开Xcode Help -> Run and debug -> Network debugging获取更多信息。希望能有所帮助。

为网络调试建立一个设备 .

从help.apple.com

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

设置iPhone、iPad或iPod touch的步骤

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

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

接下来,在Xcode中

  1. 选择窗口 >设备和模拟器,然后在出现的窗口中单击设备
  2. 使用Lightning电缆将您的设备连接到Mac。
  3. 在左列中,选择设备,并在详细信息区域中,选择通过网络连接

enter image description here

Xcode与你的设备配对。如果Xcode可以通过网络连接到设备,则在设备的左列中会出现一个网络图标。

enter image description here

  1. 断开设备连接。

现在可以通过网络进行调试了。

有时候行不通。你可能需要重新启动设备或网络连接

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


安装Apple TV的步骤:

  1. 确保你的Mac和苹果电视在同一个网络上。

  2. 选择窗口 >设备和模拟器,然后在出现的窗口中单击设备

  3. 在你的Apple TV上,打开设置应用程序并选择遥控器和设备 >远程应用和设备

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

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

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

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

enter image description here

enter image description here

在新的Xcode9-beta中,我们可以使用无线调试 正如苹果所说:

< p > 剪断绳索 < br > 选择本地网络上的任何iOS或tvOS设备来安装、运行和调试应用程序-无需将USB线插入Mac。在第一次使用新的iOS设备时,只需单击“通过网络连接”复选框,该设备将从那时起通过网络可用。无线开发也适用于其他应用程序,包括仪器,辅助功能检查器,Quicktime播放器和控制台

试试这个!

如果面临断开问题,尝试这样做:

解决方案:在您的设备上启用飞行模式10秒,然后禁用飞行模式以重新建立连接

网络调试需要在macOS 10.12.4上运行Xcode 9.0或更高版本 或更高版本,并且在设备上要求iOS 11.0或更高版本,或tvOS 11.0 或晚。< / p >

iPhone

iOS 11 将不适用于32位设备,即iPhone 5和iPhone 5c及以下。第一代64位的iPhone是5s。

iPad

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

iPod

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

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

先决条件

  • 你的Mac机器应该至少有Mac OSX 10.12.4及以上版本
  • 你的iOS设备应该至少有ios__abc0
  • 两台设备应该在同一网络上。

激活步骤

  • 通过电缆将你的iOS设备与Mac电脑连接起来。

  • 然后从顶部菜单窗口>设备和模拟器打开Xcode

  • 选择Devices segment,从左侧设备列表中选择需要的设备。

  • 在右边你可以看到打开通过网络连接,启用这个选项,如图所示。 李通过网络连接 < / p > < / > 几秒钟后,您可以看到设备前面的网络符号。 李enter image description here < / p > < / >

  • 拔掉设备的插头,像正常使用一样使用调试。

谢谢

我刚刚在WWDC上和一些Xcode工程师谈过,iDevices的自动发现仍然有一些bug。有时你的手机也不能正确地广播。打开和关闭你的设备会有所帮助。

有一些变通方法/后备方案:

您可以通过Bonjour浏览器(www.tildesoft.com)检查您的手机是否在广播。看看你的wifi地址是否列在名为“_apple-mobdev2._tcp”的服务下。- 215'(你可以在这里找到你的wifi地址:Settings > general > about > wifi地址。

作为备用方案,您可以通过手动输入IP地址(在设备窗口中右键单击设备)连接到您的设备。 然而,这个IP地址将被持久化,所以如果你改变网络,你将需要重置它。这个选项在Xcode中还不可用,但你可以通过下面的命令通过终端来实现
defaults read com.apple.dt.Xcode | grep IDEIDS

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

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

现在ip地址已清除,可以重新输入新的ip地址。

最后一个选择是建立一个计算机对计算机的网络。这很好,但从逻辑上讲,这样你就不能上网了。

如果在执行Surjeet所描述的步骤命令后仍然无法连接,请尝试关闭计算机的Wi-Fi并再次打开。这对我很管用。

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

如果你已经完成了所有步骤Surjeet给出的,仍然没有得到网络连接图标,那么按照以下步骤进行:

  1. 使用右键单击连接部分中的设备来解除设备配对。

    enter image description here < / p >

  2. 重新连接设备。

  3. 点击"+"按钮从弹出窗口的左侧结束。

enter image description here

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

enter image description here

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

enter image description here

  1. 点击完成按钮。

enter image description here

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

enter image description here

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

enter image description here

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

我尝试过使用Xcode设备窗口的连接网络选项。但我无法看到设备名称旁边的“已通过网络连接”图标。同时,一旦移除USB,“通过网络连接”选项就会消失。此外,设备名称出现在断开连接的设备列表下。

但是使用“通过IP地址连接…”选项,我能够连接。

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

enter image description here

  1. 输入设备的IP地址,选择“Connect”。(您可以通过移动设备设置> Wi-Fi >选择wifi名称) 李enter image description here < / >

Xcode 9 -详细信息去帮助->无线设备与Xcode配对(iOS, tvOS)

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

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

我试了所有的答案,但没有一个对我有效。我最终连接到不同的WiFi网络,然后我就可以无线调试了。

我不知道为什么它不能在旧的网络上工作

对于无线调试,Mac系统和iPhone/Device必须在同一网络上。 在同一个网络上,你可以做- 你可以在Mac &连接到iPhone/Device或反之亦然。

在Mac上

enter image description here

在iPhone上 -

enter image description here

Xcode►窗口►设备和模拟器►选择设备标签►点击连接 通过网络 enter image description here < / p >

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

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

使用USB端口开启Internet共享:

enter image description here < / p >

对我来说,唯一有效的方法就是用蓝牙把我的手机和MacBook连接起来。(根据ios_dev上面的回答,我是在第一次将我的手机与Xcode配对并通过电缆连接后这样做的。)

在我的手机上,我选择了设置>蓝牙,然后在“我的设备”下点击我的MacBook的名字来连接。

然后我去了Xcode > Devices and Simulators,选择我的手机并选择“通过网络连接”。几秒钟后,我的手机旁边出现了地球仪图标,我可以在手机上运行和调试我的应用程序了。

即使我的MacBook连接了WiFi网络,手机使用的是LTE,这个功能也能正常工作。唯一的缺点是在手机上安装应用程序非常缓慢。

试试这个:

  1. 用闪电线把你的iOS设备插到Mac上。你可能需要在你的设备上选择“信任此计算机”

  2. 打开Xcode,进入窗口 >设备和模拟器

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

  4. 在移除照明电缆后运行项目。

哈哈,我在这里做了所有的步骤-我最终从“Surjeet给出的”答案中做了unpaired /repair步骤。它不起作用,然后我注意到,当我点击“通过网络连接”按钮时,同样的黄色框会弹出,当你修复时弹出,说“忙中”-我很沮丧,只是开始敲打“通过网络连接”按钮,快速点击可能有15 - 20次点击-它开始噼啪作响,但最终能够连接到网络。在这起作用之前,我也关闭了我的wifi,然后重新打开,正如这些答案之一所建议的那样,但是快速点击“通过网络连接”按钮就成功了……哈哈

此外,在我按下按钮之前,我链接了设备支持文件夹,尽管我不确定它是否做了什么:

打开终端

< p > cd /应用程序/ xcode /内容/开发/平台/ iPhoneOS.platform DeviceSupport < / p >

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地址连接”选项出现在下拉菜单中,在我第一次能够连接超级黑客风格之前,它就不在那里了。如果我连接,然后打开我的网络过滤器,它会断开我的手机

第一步:第一次连接电话线

第二步:进入整理器&设备

第三步:勾选“网络连接”

现在是一个每次都管用的小技巧。

第四步:打开iphone上的热点

第五步:把你的mac和热点连接起来。

步骤6:现在运行代码。

这总是有效的。