iPhone模拟器-模拟慢速连接?


125

有没有一种方法可以减慢与iPhone Simulator的互联网连接,从而模仿当您位于蜂窝网络中的慢点时该应用程序可能会如何反应?


艾伦的答案应该被接受。
斯坦尼斯拉夫·马约洛夫'19

@StanislavMayorov这个问题来自9年前。然后,艾伦在4年后给出了最新答案。现在已经过了五年了。抱歉,我没有对旧问题进行重新考虑并重新考虑接受的答案。
克里斯,

Answers:



260

如何安装苹果的网络链接调节器

这些说明截至2019年10月。

警告:如果您刚刚升级到新版本的macOS,请确保安装了最新的Network Conditioner在Xcode的其他工具中),否则它可能会无声地失败;也就是说,您将其打开,但不会限制任何内容或丢弃任何数据包。

更新:从Xcode 11开始,可能有一种甚至更简单的方法来模拟受束缚设备上的网络状况。请参阅此博客文章。有关如何影响模拟设备的信息,请像以前一样继续进行以下操作。

  1. 如果没有,请安装Xcode。

  2. 打开Xcode并转到Xcode›打开开发人员工具›更多开发人员工具…

    按说明浏览菜单的屏幕截图

  3. 下载用于Xcode的其他工具(与您当前的Xcode版本匹配)

    其他IO工具下载链接

  4. 打开下载的磁盘映像,然后双击“硬件”下的Network Link Conditioner .prefpane进行安装。

    DMG中的首选窗格

    系统偏好设置显示安装提示

  5. 好了!

    首选项窗格的屏幕截图

  6. 确保将其打开。您需要选择一个配置文件,使用Time Machine预面板中应该熟悉的大开关来启用网络调节器。

    在此处输入图片说明

警告

这不会影响本地主机,因此请确保使用登台服务器或同事的计算机来模拟与您自己运行的API的慢速网络连接。您可能会发现https://ngrok.com/在这方面很有帮助。


6
对于Xcode 8,这包含在“用于Xcode 8的附加工具”(而不是“用于Xcode的硬件IO工具”)中
Mohit Singh

1
@MohitSingh谢谢。我已经更新了上面的答案。
艾伦·

1
惊人!谢谢。
汤玛斯·卡尔蒙

1
Xcode 10.3似乎没有其他工具?
狮子座

1
@leo,只需对当前拥有的主要Xcode版本使用当前的附加工具。例如,如果您已安装Xcode 11.1,请对Xcode 11使用附加工具
艾伦·

81

“有一个用于此的应用程序!” ;)Apple提供了“ Network Link Conditioner”首选项窗格,可以很好地完成这项工作。

  • 对于4.3之前的Xcode版本,可以在Developer文件夹中找到窗格安装程序,例如"/Developer/Applications/Utilities/Network Link Conditioner",安装后,如果守护程序无法启动并且您不想重新引导计算机,则只需使用 sudo launchctl load /system/library/launchdaemons/com.apple.networklinkconditioner.plist
  • 如果您已经完成了Developer文件夹的操作,则可以将窗格安装为“ Xcode硬件IO工具”软件包的一部分,可通过Mac Dev Center的“其他下载”部分获得。

链接到下载页面(您必须使用Apple ID登录):https : //developer.apple.com/downloads/index.action
(@nverinaud的信用)


2
以下是浏览可用下载的链接:developer.apple.com/downloads/index.action
nverinaud 2012年

2
在Mountain Lion上不起作用... stackoverflow.com/questions/12414676/…–
zack

如果它是特定于应用程序的,而不是针对整个计算机,那将是很好的
Charles John Thompson III

3
您现在可以从Apple的开发人员工具站点下载“硬件IO工具”。他们针对Xcode的新版本(以及OSX)对其进行了更新:在Xcode中,单击Xcode-> Open Developer Tool-> More Developer Tools...,登录,找到最新的档案,下载,将文件复制到某处,双击Network Conditioner首选项窗格,然后安装。 。 好极了!
i_am_jorf

我猜对优胜美地不起作用。我将其设置为“有损”,但实际上没有任何区别
Injectios

2

还值得一提的是,Xcode还为设备(而非模拟器)提供了内置的方式。

  • 只需转到“设备和模拟器”(cmmd+shift+2
  • 选择你的设备
  • 向下滚动直到找到“设备状况”
  • 设定您想要的个人资料
  • 点击开始

在此处输入图片说明

要使此工作正常,您需要安装“网络链接调节器”。看到艾伦的答案中提到的步骤


0

与黑莓开发人员喜欢的漂亮的网络连接模拟器不同,没有一种直接的方法可以模拟慢速连接。但是,由于模拟器的连接是通过计算机的,因此您只需专注于降低计算机的连接速度即可。

您将需要实现两件事(取决于您的情况):

  • 限制带宽
  • 增加延迟

也许这会为您指明正确的方向:

http://www.macosxhints.com/article.php?story=20080119112509736

也有一些好的开源解决方案,但是我不记得他们的名字。

这个问题可能会有所帮助:如何为环境模拟调节网络流量?


0

我认为,慢速连接不足以模拟实际的移动数据网络行为-因为还存在更多的数据包丢失,更高的延迟和更多的断开连接。

这是一个方便的脚本,用于配置防火墙以模拟这些参数:

http://pmilosev-notes.blogspot.com/2011/02/ios-simulator-testing-over-different.html


2
Network Link Conditioner(Apple的工具,作为首选项窗格安装)可模拟慢速连接,数据包丢失和延迟。
n00neimp0rtant

OS X Lion(2011年7月发布)中添加的网络链接调节器使此类脚本变得不必要。
尼克·多威尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.