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

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

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


当前回答

在Xcode 8.3和iOS 10.3中:

XCUIDevice.shared().siriService.activate(voiceRecognitionText: "Turn off Wi-Fi")
XCUIDevice.shared().press(XCUIDeviceButton.home)

确保在测试套件文件的顶部包含@available(iOS 10.3, *)。

如果你喜欢,你也可以选择“打开飞行模式”。

一旦Siri关闭Wi-Fi或开启飞行模式,你就需要关闭Siri需要上网的对话框。这是通过按home键来完成的,这将取消对话并返回到应用程序。

其他回答

在Xcode 8.3和iOS 10.3中:

XCUIDevice.shared().siriService.activate(voiceRecognitionText: "Turn off Wi-Fi")
XCUIDevice.shared().press(XCUIDeviceButton.home)

确保在测试套件文件的顶部包含@available(iOS 10.3, *)。

如果你喜欢,你也可以选择“打开飞行模式”。

一旦Siri关闭Wi-Fi或开启飞行模式,你就需要关闭Siri需要上网的对话框。这是通过按home键来完成的,这将取消对话并返回到应用程序。

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

只要在Mac OS x上关掉你的Wi-Fi就行了。

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

描述

Sierra的例子:

你可以使用第三方应用程序(如Charles)限制互联网连接。

在Mac上点击Command + Shift + T设置节流。