Pau*_*ond 402 iphone debugging networking ios ios-simulator
我正在尝试调试我在应用程序中看到的一些不一致的行为,该应用程序从Internet获取其主要数据.我没有在设备上看到模拟器中的问题,所以我想在模拟器中重现网络和连接环境.
有没有办法在模拟器中禁用网络?
(我正在远程连接到Mac代码,现在没有其他选择,因此禁用OS网络不是一种选择).
pro*_*rmr 1639
使用简单的法拉第笼来阻止或限制外部RF信号电平.
你可以用铝箔制作自己的.如果您要阻止,则开口应小于数据服务的波长.
800Mhz具有37cm(14")波长,1900Mhz具有16cm(6")波长.
这对于实际设备而言比使用模拟器更好,因为当在法拉第笼内时Mac很难工作;-)
swa*_*uri 288
是.在Xcode中,您可以转到Xcode
菜单项 - > Open Developer Tools
- > More Developer Tools
并下载" Xcode的附加工具 ",它将具有网络链接调节器.
使用此工具,您可以模拟不同的网络方案(例如100%丢失,3G,高延迟DNS等),您也可以创建自己的自定义方案.
Noa*_*oon 260
我不敢 - 模拟器共享操作系统正在使用的任何网络连接.我提交了关于模拟网络状况的Radar错误报告 ; 你可能会考虑做同样的事情.
Fel*_*lix 46
我知道在iOS模拟器上禁用网络的唯一方法是使用Little Snitch或Hands Off等工具.通过它们,您可以拒绝/阻止任何外出和进入的网络连接.您可以对其进行设置,使其仅阻止来自模拟器应用程序的连接.像防火墙一样工作.
ben*_*mer 18
只需在Mac OSX中关闭您的WiFi就可以了!
小智 11
只需更新当前日期的答案.从Xcode 4(?)开始,/Applications/Utilities
调用了一个首选项窗格Network Link Conditioner
.您可以使用其中一个现有的配置文件,也可以创建自己的自定义配置文件,其中0 Kbps向上/向下链接和100%删除.
Ali*_*Ali 10
由于Xcode不提供此类功能,因此您肯定会使用某些第三方应用程序/工具.关闭MAC网络也有助于关闭iOS模拟器网络.
您可以从" System Preferences...
">" Network
" 关闭MAC互联网并关闭所需的网络源.
要关闭MAC WiFi互联网源(如果您的MAC在Wifi Internet上):
iOS 禁用网络
\n我建议您在 Mac 上使用Charles Proxy应用程序。
\n它允许您使用专为调整网络连接而创建的带宽限制功能。
\n开始/停止节流\xe2\x8c\x98 command+ T
\n节流设置... \xe2\x8c\x98 command+ T+\xe2\x87\xa7 shift
*如果您通过带宽 0 和 0 用于下载和上传创建自己的预设Add Preset
,您可以模拟没有互联网连接。仅为某些特定主机启用它也非常有用。
作为替代方案,您可以禁用 Mac 上的连接,因为来自模拟器的所有流量都通过您的计算机。
\n一个可能是疯狂的想法或补丁:
只需切换网络可达性标志即可
这是代码,我用触发切换自己的旗帜运行 "模拟内存警告"和它完全安全的,只要确保代码应该是在DEBUG模式仅
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application
{
#ifdef DEBUG
isInternetAvailable = !isInternetAvailable;
#endif
}
Run Code Online (Sandbox Code Playgroud)
如果您的应用程序连接到特定域,您只需将其添加到您的/etc/hosts
文件并将其路由到本地网络中不存在的 IP 地址...对于应用程序,它将与没有任何 IP 地址相同Internet 连接或无法访问服务器。
sudo nano /etc/hosts
Run Code Online (Sandbox Code Playgroud)
添加以下行:
192.168.1.123 example.com
Run Code Online (Sandbox Code Playgroud)
或者,127.0.0.1
如果您没有在本地计算机上运行 Web 服务器,请使用。