如何在 Xcode 9 中使用 iOS 11、Apple TV 4K 等进行无线调试?
Posted
技术标签:
【中文标题】如何在 Xcode 9 中使用 iOS 11、Apple TV 4K 等进行无线调试?【英文标题】:How do you perform wireless debugging in Xcode 9 with iOS 11, Apple TV 4K, etc? 【发布时间】:2017-06-06 06:31:50 【问题描述】:最近在 Xcode 9、ios 11 和 tvOS 11 中添加了无线调试功能。Apple TV 4K 没有 USB 端口,因此需要无线调试。您如何在 Xcode 中执行这种无线调试?
【问题讨论】:
有人真正成功地进行了无线调试吗?我遵循了相同的步骤,但是当我尝试进行无线调试时,它一直显示 iphone 已断开连接。连接调试工作正常。 @SeriousSam 它有效。您需要在同一个网络上。 我已经检查了无线调试,它工作正常 即使使用另一部系留的 iPhone 作为 WiFi 支持,它也能在这里工作。 连接在 10-20 秒后断开!。任何想法为什么如此,?谢谢! 【参考方案1】:Set up a device for network debugging
来自 help.apple.com
通过 Wi-Fi 或其他网络连接调试在 iOS 或 tvOS 设备上运行的应用。
设置 iPhone、iPad 或 iPod touch 的步骤
检查您的设备是否有密码和add one if it doesn't。您的设备必须有密码才能启用远程调试
Mac 和 iPhone/iPad 需要在同一网络上才能使用无线调试。
接下来,在 Xcode 中
-
选择Window > Devices and Simulators,然后在出现的窗口中点击Devices。
使用 Lightning 数据线将您的设备连接到 Mac。
在左侧栏中选择设备,然后在详细信息区域中选择通过网络连接。
Xcode 与您的设备配对。如果 Xcode 可以使用网络与设备连接,则左栏中的设备旁边会出现一个网络图标。
-
断开您的设备。
现在您可以通过网络进行调试了。
有时它不起作用。您可能需要重新启动设备或网络连接。
注意:网络调试需要在 macOS 10.12.4 或更高版本上运行的 Xcode 9.0 或更高版本,并且在设备上需要 iOS 11.0 或更高版本,或 tvOS 11.0 或更高版本。
设置 Apple TV 的步骤:
确保您的 Mac 和 Apple TV 在同一网络上。
选择Window > Devices and Simulators,然后在出现的窗口中,点击Devices。
在您的 Apple TV 上,打开“设置”应用并选择遥控器和设备 > 远程应用和设备。
Apple TV 会搜索可能的设备,包括 Mac。 (如果您有任何防火墙或 Internet 安全,请将其禁用/关闭以允许搜索。)
在您的 Mac 上,在 设备 窗格中选择 Apple TV。将显示 Apple TV 的窗格并显示连接请求的当前状态。
将 AppleTV 上显示的验证码输入设备的设备窗口窗格,然后单击连接。
Xcode 设置 Apple TV 以进行无线调试并与设备配对。
【讨论】:
对我来说,它最初不起作用。但是当我重新启动设备时,它开始工作。感谢 Apple 的 wifi 调试 :) @Lacek 据我了解,通过 *** 进行无线调试是不可能的。将检查任何解决方法来做到这一点,如果有什么得到将在这里更新。 通过网络连接Apple TV时超级重要的说明:当您的Mac也通过USB连接到Apple TV时,它不起作用。 Mac macbook pro 没有“闪电转usb-c”适配器,是否可以在不通过电缆连接的情况下设置远程调试? @Luz 我可以确认此功能可以与 Open*** 结合使用,在 Mojave 上使用相当标准的 Open*** 配置从远程服务器进行调试。我有更多详细信息here,但如果有人需要详细说明,请随时与我联系。【参考方案2】:我尝试过使用 Xcode 设备窗口的通过网络连接选项。但我看不到设备名称旁边的“通过网络连接”图标。同样,只要卸下 USB,“通过网络连接”选项就会消失。此外,设备名称显示在断开连接的设备列表下方。
但是使用“通过 IP 地址连接...”选项,我可以连接。
-
右键单击设备名称(在已断开连接列表下)并选择“通过 IP 地址连接...”选项。
-
键入设备的 IP 地址并选择连接。 (您可以通过移动设备设置> Wi-Fi > 选择wifi名称找到)
【讨论】:
当我输入 IP 并点击“连接”时,它会永远加载:( @Shyam 手机和mac都使用同一个wifi?还要仔细检查你是否使用了兼容的 Xcode。 我很确定两者都使用相同的 WiFi,Xcode 版本是 9.1、MacOS 10.13.1、iPhone 11.1。问题出在我希望的网络上,当我使用不同的网络时它可以工作 和我一样。但有时有效,有时无效......我需要关闭并打开我的xcode几次才能工作。两者都使用相同的 WiFi,Xcode 版本是 9.1,MacOS 10.13.1,iPhone 11.1。 @Shyam 需要一点时间......但它有效,这是唯一对我有用的解决方案。谢谢 damithH!【参考方案3】:如果您已完成所有步骤given by Surjeet,但仍未获得网络连接图标,请按照以下步骤操作:
在已连接部分中右键单击设备,取消配对设备。
重新连接设备。
点击弹出窗口左侧末尾的“+”按钮。
-
选择设备并点击下一步按钮
-
点击设备上的信任和密码(如果可用)。
-
点击完成按钮。
-
现在,点击通过网络连接。
现在您可以在设备名称后面看到网络连接图标。享受吧!
【讨论】:
是否有范围限制之类的条件?因为当我连接它时,它开始启动我的应用程序并断开连接? 设备名称后面看不到网络连接图标。这个问题与wifi连接有关吗? 是的,它成功了,我猜是因为它之前配对没有密码,但是当我们在设备设置中启用密码时,我们需要再次重新配对设备 也许是的,如果您的设备没有通过 wifi 连接,那么它不会出现 @pallavi【参考方案4】:先决条件
您的 Mac 机器应至少具有 Mac OSX 10.12.4 或更高版本 您的 iOS 设备至少应安装 iOS 11.0 或更高版本 两台设备应该在同一个网络上。激活步骤
通过电缆将您的 iOS 设备与 Mac 机器连接。
打开 Xcode,然后从顶部菜单 Window -> Devices and Simulators
选择 设备 细分并从左侧设备列表中选择您想要的设备。
在右侧您可以看到打开的通过网络连接,启用此选项,如附图所示。
几秒钟后,您可以在设备前面看到网络标志。
拔下您的设备并像正常使用一样使用调试。
谢谢
【讨论】:
你读过@Surjeet 的回答吗?这个答案不会增加任何显着的价值,并使帖子不必要的大。 @elGeekalpha 我开始关注 surjeet 的回答,但他没有提到相同的网络,我在通过网络连接时遇到了问题。是的,我的答案很大,但并非没有必要,因为我确实误会了其他用户不会,而且这个答案也会对新手有所帮助。希望您理解并且其他人也会提供帮助:享受编码 抱歉,我不想表现得粗鲁,但我的第一印象似乎是您没有阅读就写了它。感谢您的解释,也享受 WWDC17! “几秒钟后,您可以在设备前面看到网络标志。” 我很高兴看到这些照片。 “一千个字”等等。【参考方案5】:如果关注the steps as described by Surjeet 后仍无法连接,请尝试关闭计算机的 Wi-Fi 再重新打开。这对我有用。
另外,请务必信任 iOS 设备上的开发者证书(设置 - 常规 - 配置文件和设备管理 - 开发者应用)。
【讨论】:
在电脑上切换 Wi-Fi 有帮助【参考方案6】:网络调试需要在 macOS 10.12.4 上运行 Xcode 9.0 或更高版本 或更高版本,并且在设备上需要 iOS 11.0 或更高版本,或 tvOS 11.0 或更高版本。
iPhone
iOS 11 不适用于 32 位设备,即 iPhone 5 和 iPhone 5c 及更低版本。第一个64位iPhone是5s。
iPad
iPad mini 2 将是支持 iOS 11 的最老款 iPad。
iPod
iPod 必须是 iPod 6 才能运行 iOS。
如果您的设备不仅用于开发,还用于生产,请注意,Beta 版操作系统不适合胆小的人 ;-)
【讨论】:
iOS 11 与这些设备兼容。 iPhone iPhone 7 iPhone 7 Plus iPhone 6s iPhone 6s Plus iPhone 6 iPhone 6 Plus iPhone SE iPhone 5s iPad 12.9 英寸 iPad Pro 第二代 12.9 英寸 iPad Pro 第一代 10.5 英寸 iPad Pro 9.7 英寸iPad Pro iPad Air 2 iPad Air iPad 第 5 代 iPad mini 4 iPad mini 3 iPad mini 2 iPod iPod touch 第 6 代 实际支持 iPad Air - 第一个 64 位 iPad。【参考方案7】:在新的Xcode9-beta中,我们可以使用无线调试 as said by Apple:
切断电源线 选择本地网络上的任何 iOS 或 tvOS 设备来安装、运行和调试您的应用程序 - 无需将 USB 线插入 Mac。首次使用新的 iOS 设备时,只需点击“通过网络连接”复选框,该设备将从那时起通过网络可用。无线开发也适用于其他应用程序,包括 Instruments、Accessibility Inspector、Quicktime Player 和 Console。
试试这个!
如果遇到断线问题,试试这个:
解决方法:在您的设备上启用飞行模式 10 秒,然后禁用飞行模式以重新建立连接
【讨论】:
@Surjeet 的回答要全面得多。 @Lacek 我不确定,但我怀疑,两个设备都应该连接到同一个 WiFi 网络。 我也怀疑,但是一旦我感到惊讶,iOS 的“我不会通过蜂窝网络下载超过 100 MB”消息的解决方案是什么 - 你将蜂窝网络连接到手机(通过 USB)并将其作为 WIFI 共享,然后 iOS 认为它正在使用 WIFI...我希望有类似的 hack,这次更多参与。 “在您的设备上启用飞行模式 10 秒”这有帮助!【参考方案8】:我刚刚在 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地址被清除了,你可以输入一个新的了。
最后一个选项是创建一个计算机到计算机的网络。这很好用,但从逻辑上讲,您将无法访问互联网。
【讨论】:
似乎在 beta 4 中没有更多手动设置 IP 的选项。 :( 顺便说一句,我无法让带有 beta 4 的 iPhone 6s 连接到 Xcode 9 beta 4。 为了能够看到设置 IP 地址选项,我必须从 USB 端口拔下设备 2020 年结束了,但仍然是马车。【参考方案9】:您可以打开 Xcode 帮助 -> 运行和调试 -> 网络调试以获取更多信息。希望对您有所帮助。
【讨论】:
【参考方案10】:我遵循了所有建议的步骤,尤其是 ios_dev 提供的步骤,但 Xcode 无法识别我的 iPhone,并且我无法通过 WiFi 进行调试。右键单击“设备和模拟器”窗口中我的 iDevice 上的左侧面板,然后“通过 IP 地址连接...”,插入 iPhone IP,现在它可以正常工作了
【讨论】:
请务必注意:设备需要与系统断开连接才能显示此选项。【参考方案11】:对于无线调试,Mac系统和iPhone/设备应该在同一网络上。 要在同一网络上制作,您可以执行以下操作 - 您可以在 Mac 上启动热点并在 iPhone/设备上连接,反之亦然。
On Mac
或
On iPhone-
Xcode ► 窗口 ► 设备和模拟器 ► 选择设备选项卡 ► 单击连接 通过网络
https://help.apple.com/xcode/mac/9.0/index.html?localePath=en.lproj#/devbc48d1bad
【讨论】:
当我的 iPhone XS Max 设置为个人热点并将我的 macbook pro 连接到它时,我无法将 iPhone 用作调试设备。对我有用的无线调试的唯一情况是将它们都连接到同一个 wifi 路由器。这在旅途中编码时非常烦人。我总是要随身携带电缆。【参考方案12】:我的问题是关于网络 SSID 广播。
我已经尝试了上述所有解决方案,但仍然无法连接我的设备,我的设备根本没有“地球”图标。然后我发现由于某种原因我的网络关闭了它的 SSID 广播(我仍然可以通过手动输入 SSID 来连接网络)。打开 SSID 广播后,我可以通过“通过 IP 地址连接...”连接我的设备。
【讨论】:
请更完整地描述您遇到的问题。至少它如何解决有关“如何执行无线调试”的问题?如果这是一个单独的问题,请创建一个新问题并回答它【参考方案13】:我尝试了所有答案,但对我没有任何帮助。我最终连接到不同的 WiFi 网络,然后我能够进行无线调试。
我不知道为什么它不适用于旧网络
【讨论】:
它在我的网络上对我不起作用。连接到蓝牙就达成了交易...不确定它是否有任何帮助或如何...【参考方案14】:唯一对我有用的是使用蓝牙将我的手机连接到我的 MacBook。 (根据上面 ios_dev 的回答,我在通过电缆连接时首先将手机与 Xcode 配对后执行了此操作。)
在我的手机上,我转到“设置”>“蓝牙”,然后在“我的设备”下点击我 MacBook 的名称进行连接。
然后我转到 Xcode > 设备和模拟器,选择我的手机并选中“通过网络连接”。几秒钟后,地球图标出现在我的手机旁边,我可以在手机上运行和调试我的应用程序。
即使我的 MacBook 连接到 WiFi 网络并且我的手机使用 LTE,这也能正常工作。唯一的缺点是将应用程序安装到手机上速度很慢。
【讨论】:
确实!在尝试了所有其他方法后,通过蓝牙连接到我的 Mac 立即生效。【参考方案15】:试试这个:
使用避雷线将您的 iOS 设备插入 Mac。您可能需要在您的设备上选择信任此计算机。
打开 Xcode 并转到 Window > Devices and Simulators。
选择您的设备,然后选中通过网络连接复选框以配对您的设备。
卸下照明电缆后运行您的项目。
【讨论】:
【参考方案16】:Xcode 9 - 有关详细信息,请转到 帮助 -> 将无线设备与 Xcode(iOS、tvOS)配对
【讨论】:
【参考方案17】:我可以让它工作的唯一方法是我的 Mac 和我的 iPhone 在不同网络上。我有一个主 DSL 调制解调器,称为 network1,第二个 network2 为我们设置了一个接入点。它们具有 SSID 网络 1 和网络 2。如果电话在network1上,而mac在network2上,它会工作,反之亦然。但是,如果两者都在 network1 上或都在 network2 上,则它不会工作。
【讨论】:
【参考方案18】:使用 USB 端口启用 Internet 共享:
【讨论】:
【参考方案19】:大声笑,我在这里执行了所有步骤 - 我最终执行了“由 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风格第一次。如果我连接,然后打开我的网络过滤器,它会断开我的手机。
【讨论】:
【参考方案20】:第 1 步:第一次使用数据线连接手机
第 2 步:转到管理器和设备
第 3 步:勾选连接为网络
现在简单的技巧,每次都有效。
第 4 步:打开 iphone 上的热点
第 5 步:将您的 Mac 连接到该热点。
第 6 步:现在运行代码。
这将永远有效。
【讨论】:
以上是关于如何在 Xcode 9 中使用 iOS 11、Apple TV 4K 等进行无线调试?的主要内容,如果未能解决你的问题,请参考以下文章
应用程序在 Xcode 9 和 iOS 11 中与谷歌地图 SDK cocoapods 一起崩溃 [关闭]
当Apple从设置中删除时,如何在Xcode 9 Simulator中访问Twitter?