ios - 通过 VPN 连接的 iPhone 远程调试

标签 ios xcode debugging vpn

当我的 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/

相关文章:

ios - CMMotionManager的多个实例,确定更新间隔

ios - 如何按字符串日期排序我的 JSON?

ios - 升级到 MacOS Catalina 10.15 后尝试从 Xcode 11.1 部署到设备时出现两个 FIPS 错误

java - 请帮助调试该程序中的错误

javascript - Webstorm 远程调试 + 调试时编辑本地 javascript 文件

cocoa - 经验丰富的 iOS 开发人员开始 OS X 开发的最佳实践和建议?

xcode - swift 2.0 测试版 : are protocols kinda broken in Xcode beta 5?

ios - Xcode-7 : No such file or directory

ruby-on-rails - 为什么我会收到此参数错误?

iphone - iPad 模拟器网络流量不通过系统代理