一个可能是疯狂的想法或补丁:
的 只需切换网络可达性标志即可 强>
这是我用来通过触发来切换标志运行时的代码 的 '模拟器内存警告' 强> 并且它完全安全,只需确保代码应该在 的 调试模式 强> 只要
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application { #ifdef DEBUG isInternetAvailable = !isInternetAvailable; #endif }
使用Xcode 8.3和iOS 10.3:
XCUIDevice.shared().siriService.activate(voiceRecognitionText: "Turn off wifi") XCUIDevice.shared().press(XCUIDeviceButton.home)
一定要包括 @available(iOS 10.3, *) 在测试套件文件的顶部。
@available(iOS 10.3, *)
如果您愿意,也可以选择“打开飞行模式”。
一旦Siri关闭wifi或打开飞行模式,您将需要忽略Siri对话,该对话说Siri需要互联网。这可以通过按下主页按钮来完成,该按钮会取消对话并返回到您的应用程序。
下载 附加工具包 (网络链接调节器)
描述
Sierra的例子:
由于Xcode不提供此类功能,因此您肯定会使用某些第三方应用程序/工具。 关闭MAC网络也有助于关闭iOS模拟器网络。
你可以关闭你的MAC互联网“ System Preferences... “>” Network “并关闭所需的网络资源。
System Preferences...
Network
的 要关闭MAC以太网上网源: 强>
的 要关闭MAC WiFi互联网源(如果您的MAC在Wifi Internet上): 强>
您可以在Mac上使用网络链接调节器。您可以从Apple开发者网站下载它。它应该在我们获得旧版Xcode和iOS的地方可用。使用这种网络调节器,您可以将网络的强度从wifi更改为无网络。
此外,当您安装网络调节器时,它将安装在系统首选项中。
我知道在iOS模拟器上禁用网络的唯一方法就是使用像 小飞贼 要么 放手 。通过它们,您可以拒绝/阻止任何外出和进入的网络连接。您可以对其进行设置,使其仅阻止来自模拟器应用程序的连接。像防火墙一样工作。
你可以用 OHHTTPStubs 并将网络请求存根到特定URL失败。
我不敢 模拟器共享操作系统正在使用的任何网络连接。我提交了一份 雷达虫报告 关于模拟一段时间的网络状况;你可能会考虑做同样的事情。
您可以使用第三方应用程序限制互联网连接
查尔斯: http://www.charlesproxy.com/
在Mac上按命令+ shift + T设置限制。
有 的 二 强> 通往 的 禁用 强> IOS模拟器互联网:
这是最简单的方法
的 如果 强> 你有至少2个wifi网络连接是一个非常简单的方法是使用iOS模拟器中的错误:
问题是模拟器试图使用尚未连接的网络(IP?)。
直到你重新启动模拟器 - 它将没有互联网(即使你连接的第一个wifi网络有互联网连接),所以你可以运行(cmd-R)和停止(cmd-。)项目使用模拟器没有连接,但你的Mac将被连接。
然后,如果你需要运行模拟器连接 - 只需退出并启动它。
如果您的应用已连接到特定域,则只需将其添加到您的应用中即可 /etc/hosts 归档并将其路由到本地网络中的不存在的IP ...对于应用程序,它将与没有Internet连接或服务器无法访问时相同。
/etc/hosts
sudo nano /etc/hosts
添加以下行:
192.168.1.123 example.com
或使用 127.0.0.1 如果您没有在本地计算机上运行Web服务器。
127.0.0.1
您可以使用 小飞贼 切断任何单个进程的网络流量,包括在iOS模拟器上运行的进程。这样您就可以保持互联网连接并断开正在运行的应用程序。
只需在Mac OSX中关闭您的WiFi就可以了!
你可以禁用主机的网络!