我正在调试从Internet获取主数据的应用程序中看到的一些不一致的行为。我在模拟器中没有看到问题,只是在设备上,所以我想在模拟器中重现网络和连接环境。

在模拟器中是否有禁用网络的方法?

(我正在远程连接到Mac上编写代码,目前没有其他选择,所以不能禁用操作系统网络)。


当前回答

如果你需要破坏你的网络连接是不同的方式,看看这些utils:

ipfw或pfctl (FreeBSD/OSX) -低级包过滤。拒绝从本地主机访问端口的示例 要关闭网络,可以在终端执行:

pfctl -e
(echo "block all"; pfctl -sr) | pfctl -f -

停止过滤:

pfctl -d

曾经有通过共享无线网络模拟3G网络的Throttle (Mac)。

其他回答

您可以禁用主机的网络代替!

下载附加工具包(网络链接调节器)

描述

Sierra的例子:

由于Xcode没有提供这样的功能,你肯定会去找一些第三方应用程序/工具。 关闭Mac网络也将有助于关闭iOS模拟器网络。

你可以在系统设置中关闭你的Mac网络连接…→网络并关闭所需的网络源。

关闭你的Mac以太网Internet源:

关闭你的Mac Wi-Fi网络源(如果你的Mac有Wi-Fi网络连接):

您可以使用ohhttpstub和存根网络请求特定的url失败。

你可以使用小飞贼切断任何单独进程的网络流量,包括在iOS模拟器上运行的进程。这样你就可以保持网络连接,并断开正在运行的应用程序。