当我的iPhone连接到本地WiFi时,Xcode可以通过网络看到我的iPhone。我的Mac Pro开发机器运行的是带有VPN服务器的macOS Server。当我从iPhone VPN到Mac Pro时,Mac可以通过VPN IP地址screenshot ping iPhone(172.22.0.225),网络实用程序显示端口62078(调试所需的端口)打开。screenshot但是,当我尝试在Xcode中通过IP连接时,它说我的iPhone不再可用。screenshot有什么建议吗?
当我的iPhone连接到本地WiFi时,Xcode可以通过网络看到我的iPhone。我的Mac Pro开发机器运行的是带有VPN服务器的macOS Server。当我从iPhone VPN到Mac Pro时,Mac可以通过VPN IP地址screenshot ping iPhone(172.22.0.225),网络实用程序显示端口62078(调试所需的端口)打开。screenshot但是,当我尝试在Xcode中通过IP连接时,它说我的iPhone不再可用。screenshot有什么建议吗?
2条答案
按热度按时间64jmpszr1#
我使用OpenVPN和运行iOS 12.4的iPhone 8在莫哈韦上成功实现了这一点。我认为服务器端不需要任何特殊设置-我从
brew
安装了openvpn
,并严格遵循了几个不同的配置指南来设置路由VPN(显然iPhone不会处理TAP,这是以太网桥接VPN所需的).我 * 确实 * 安装了tuntap,但我认为OpenVPN使用默认的utun 0接口,所以这不应该有什么关系。不管怎样,我确实发现如果你没有Wi-Fi,这个功能似乎就不起作用了。我在Wireshark上发现,虽然当你使用Hive数据连接到VPN服务器时,iPhone会收到来自Xcode的消息,但iPhone似乎忽略了这些消息,而是将
[RST, ACK]
数据包发送回服务器。也许iPhone只是在en0
接口上监听来自Xcode的消息。也可能是Xcode做了一些检查,以确保这些信息不是来自它的某个Hive数据接口。无论如何,当iPhone通过Wi-Fi连接到VPN服务器时,Xcode * 可以 * 看到它。不幸的是,我无法确认这是否适用于任何其他VPN服务器,但我至少可以确认通过VPN进行远程调试是可能的。
jhdbpxl92#
我只是通过遵循标准的OpenWRT OpenVPNServer指南(https://openwrt.org/docs/guide-user/services/vpn/openvpn/server)就取得了成功。我不需要遵循任何额外的步骤来路由VPN或桥接。
在Xcode中,我需要去窗口〉设备和模拟器,右键点击我的设备,点击“连接IP地址”,并输入iPhone的IP地址在VPN子网(192.168.8.2在我的情况下).有趣的是,我需要这样做,甚至当我在我的本地WiFi,所以也许这一步甚至不需要在您的情况.
iPhone需要连接WiFi才能进行无线调试。VPN与此无关。当我外出时,我会携带一个额外的(Android)设备作为热点,以绕过这一限制。如果你在另一个有WiFi的地方,我想这是不需要的。
需要注意的是,由于某种原因,我的Android设备的热点不允许iPhone连接到VPN。为了解决这个问题,我首先通过LTE连接到VPN,然后连接到热点。