无线调试是最近在Xcode 9、iOS 11和tvOS 11中添加的功能。苹果4K电视没有USB接口,因此需要无线调试。如何在Xcode中进行无线调试?
设置网络调试设备
从help.apple.com
通过Wi-Fi或其他网络连接调试在iOS或tvOS设备上运行的应用程序。
设置iPhone、iPad或iPod touch的步骤
检查你的设备是否有密码,如果没有就添加一个。您的设备必须有密码才能启用远程调试 Mac和iPhone/iPad需要在同一个网络上才能使用无线调试。
接下来,在Xcode中
选择窗口>设备和模拟器,然后在出现的窗口中单击设备。 使用Lightning电缆将您的设备连接到Mac。 在左侧列中选择设备,在详细信息区域中选择“通过网络连接”。
Xcode与你的设备配对。如果Xcode可以通过网络连接到设备,则在设备的左列中会出现一个网络图标。
断开设备连接。
现在可以通过网络进行调试了。
有时候行不通。您可能需要重新启动设备或网络连接。
注意:网络调试需要在macOS 10.12.4及以上版本上运行Xcode 9.0及以上版本,在设备上运行iOS 11.0及以上版本,或tvOS 11.0及以上版本。
安装Apple TV的步骤:
Make sure your Mac and your Apple TV are on the same network. Choose Window > Devices and Simulators, then in the window that appears, click Devices. On your Apple TV, open the Settings app and choose Remotes and Devices > Remote App and Devices. The Apple TV searches for possible devices including the Mac. (If you have any firewall or Internet security, disable/turn it off to allow searching.) On your Mac, select the Apple TV in the Devices pane. The pane for the Apple TV is displayed and shows the current status of the connection request. Enter the verification code displayed on your AppleTV into the Device window pane for the device and click Connect.
Xcode设置Apple TV进行无线调试,并与设备配对。
在新的Xcode9-beta中,我们可以使用苹果所说的无线调试:
剪断绳索 选择本地网络上的任何iOS或tvOS设备来安装、运行和调试应用程序,而无需将USB线插入Mac。第一次使用新的iOS设备时,只需单击“通过网络连接”复选框,该设备就可以从那时起通过网络使用。无线开发也适用于其他应用程序,包括仪器、辅助功能检查器、Quicktime播放器和控制台。
试试这个!
如果遇到连接中断的问题,试试这个:
解决方法:在设备上开启飞行模式10秒,然后关闭飞行模式,重新建立连接
网络调试要求在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操作系统不适合胆小的人;-)
先决条件
您的Mac机器应该至少有Mac OSX 10.12.4或更高版本 您的iOS设备应该至少有iOS 11.0或更高版本 两台设备应该在同一网络上。
激活步骤
通过电缆将你的iOS设备与Mac电脑连接起来。 然后从顶部菜单窗口>设备和模拟器打开Xcode 选择设备段,并从左侧设备列表中选择所需的设备。 在右边,你可以看到打开通过网络连接,启用这个选项,如图所示。 几秒钟后,您可以看到网络标志在您的设备前面。 拔掉设备的插头,像正常使用一样使用调试。
谢谢
我刚刚在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给出的所有步骤,但仍然没有得到网络连接图标,那么请执行以下步骤:
使用右键单击“已连接”部分中的设备解除设备配对。 重新连接设备。 点击弹出窗口左侧末端的“+”按钮。
选择设备并单击next按钮
点击信任和密码(如果可用)从设备。
点击完成按钮。
现在,点击“通过网络连接”。
现在您可以在设备名称之后看到网络连接图标。享受吧!
我遵循了所有建议的步骤,特别是ios_dev提供的步骤,但我的iPhone无法从Xcode中识别出来,而且我无法通过WiFi进行调试。在“设备和模拟器”窗口中右键单击我的设备的左侧面板,然后“通过IP地址连接…”,插入iPhone IP,现在它正确工作了
我尝试过使用Xcode设备窗口的连接网络选项。但我无法看到设备名称旁边的“已通过网络连接”图标。同时,一旦移除USB,“通过网络连接”选项就会消失。此外,设备名称出现在断开连接的设备列表下。
但是使用“通过IP地址连接…”选项,我能够连接。
右键单击设备名称(在断开连接列表下)并选择“通过IP地址....连接”选项。
输入设备的IP地址,选择“连接”。(您可以通过移动设备设置> Wi-Fi >选择wifi名称)
我的问题是关于网络SSID广播。
我尝试了上面所有的解决方案,但仍然无法连接我的设备,我的设备根本没有“地球仪”图标。然后我发现由于某种原因,我的网络关闭了SSID广播(尽管我仍然可以通过手动输入SSID来连接网络)。一旦我打开SSID广播,我就可以通过“通过IP地址连接……”来连接我的设备。
对于无线调试,Mac系统和iPhone/Device应该在同一个网络上。 在同一个网络上,你可以做- 你可以在Mac上启动热点,然后在iPhone/设备上连接,反之亦然。
在Mac
OR
在iPhone上,
Xcode►窗口►设备和模拟器►选择设备标签►点击连接 通过网络
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上,它就不能工作。
对我来说,唯一有效的方法就是用蓝牙把我的手机和MacBook连接起来。(根据ios_dev上面的回答,我是在第一次将我的手机与Xcode配对并通过电缆连接后这样做的。)
在我的手机上,我选择了设置>蓝牙,然后在“我的设备”下点击我的MacBook的名字来连接。
然后我去了Xcode > Devices and Simulators,选择我的手机并选择“通过网络连接”。几秒钟后,我的手机旁边出现了地球仪图标,我可以在手机上运行和调试我的应用程序了。
即使我的MacBook连接了WiFi网络,手机使用的是LTE,这个功能也能正常工作。唯一的缺点是在手机上安装应用程序非常缓慢。
试试这个:
用闪电线把你的iOS设备和Mac连接起来。您可能需要在设备上选择“信任此计算机”。 打开Xcode,打开窗口>设备和模拟器。 选择您的设备,然后选择“通过网络连接”复选框以配对您的设备。 在移除照明电缆后运行项目。
LOL, I was doing all the steps here - I ended up doing the unpairing/repairing steps from the "given by Surjeet" answer. It didn't work, and then I noticed that when I clicked the "connect via network" button, the same yellow box would pop up that pops up when you repair, saying "busy" - I got frustrated and just started hammering the "connect via network" button, clicking it quickly for probably like 15 - 20 clicks - it started spazzing out, but eventually landed on being able to connect to the network. Before that worked, I also shut my wifi off and turned it on again, as suggested by one of these answers, but clicking the "connect via network" button really fast did the trick...LOL
此外,在我按下按钮之前,我链接了设备支持文件夹,尽管我不确定它是否做了什么:
打开终端
cd /应用程序/ xcode /内容/开发/平台/ iPhoneOS.platform / DeviceSupport Ln -s 13.3 13.4 Ls -l 13.4 重启Xcode并在设备上重试运行
说在这里做- https://forums.developer.apple.com/thread/126940 -我在评论中编辑了文件夹版本,以调整到最新版本的iOS 13.4。
编辑 我相信我找到了我的问题所在,我不得不停止我的小飞贼网络过滤器。此外,在我能够通过敲击按钮连接后,当你在xcode的设备管理器中右键单击设备时,“通过IP地址连接”选项出现在下拉菜单中,在我第一次能够连接超级黑客风格之前,它就不在那里了。如果我连接,然后打开网络过滤器,它就会断开我的手机。
第一步:第一次连接电话线
第二步:进入组织者和设备
第三步:勾选“网络连接”
现在是一个每次都管用的小技巧。
第四步:打开iphone上的热点
第五步:把你的mac和热点连接起来。
步骤6:现在运行代码。
这总是有效的。
推荐文章
- 如何在iOS上进行base64编码?
- 是否有可能更新一个本地化的故事板的字符串?
- 以编程方式获取Bundle Identifier
- 为iPad和iPhone设计输入按钮
- 如何在我的iPhone应用程序中使用NSError ?
- 我的预发行应用已经在iTunes Connect中“处理”了一周多,这是怎么回事?
- Xcode iOS项目只显示“我的Mac 64位”,但不显示模拟器或设备
- Objective-C中的自动引用计数不能防止或减少什么样的泄漏?
- 在Xcode 9中如何从打开的多个模拟器中退出或关闭单个模拟器?
- 如何使用Swift播放声音?
- UINavigationBar自定义返回按钮没有标题
- 如何精确地以毫秒为单位记录方法的执行时间?
- 在整个UIWindow中获取UIView的位置
- 如何解散ViewController在Swift?
- 保存字符串到NSUserDefaults?