当我的 iPhone 连接到本地 WiFi 时,Xcode 会通过网络看到我的 iPhone。我的 Mac Pro 开发计算机正在运行带有 VPN 服务器的 macOS Server。当我从 iPhone 通过 VPN 连接到 Mac Pro 时,我的 Mac 可以通过其 VPN IP 地址 screenshot 对 iPhone 执行 ping 操作。 (172.22.0.225) 并且网络实用程序显示端口 62078(调试所需的端口)已打开。 screenshot然而,当我尝试在 Xcode 中通过 IP 连接时,它说我的 iPhone 不再可用。 screenshot 有什么建议吗?
最佳答案
我成功地通过 OpenVPN 和运行 iOS 12.4 的 iPhone 8 在 Mojave 上运行了此功能。我认为服务器端不需要任何特殊设置 - 我从 brew
安装了 openvpn
并严格遵循一些不同的配置指南来设置路由 VPN(显然是iPhone 无法处理 TAP,而以太网桥接 VPN 需要 TAP)。我确实安装了tuntap ,但我认为 OpenVPN 无论如何都使用默认的 utun0 接口(interface),所以这应该不重要。
无论如何,我确实发现如果你没有连接 Wi-Fi,这似乎不起作用。我通过 Wireshark 发现,虽然当您使用蜂窝数据连接到 VPN 服务器时 iPhone 会收到来自 Xcode 的消息,但 iPhone 似乎会忽略这些消息,将 [RST, ACK]
数据包发送回服务器。也许 iPhone 仅在其 en0
接口(interface)上监听来自 Xcode 的消息,或者可能进行了一些检查以确保消息不是来自其蜂窝数据接口(interface)之一。无论如何,当 iPhone 通过 Wi-Fi 连接到 VPN 服务器时,Xcode可以看到 iPhone。
不幸的是,我无法确认这是否适用于任何其他 VPN 服务器,但我至少可以确认可以通过 VPN 进行远程调试。
关于ios - 通过 VPN 连接的 iPhone 远程调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49267354/