有没有办法减慢与iPhone模拟器的互联网连接速度,以模仿应用程序在您处于蜂窝网络上的慢点时的反应?
答案 0 :(得分:203)
截至2016年11月4日的最新说明 - macOS Sierra 10.12。
警告:如果您刚刚升级到 macOS Sierra,请确保安装最新的网络调节器(in Additional Tools for Xcode 8.2),否则它将silently fail;也就是说,你将打开它,但它不会限制任何东西或丢弃任何数据包。
如果没有Xcode,请安装Xcode
打开XCode并转到Xcode> Open Developer Tool> More Developer Tools ...
下载 Xcode的其他工具
打开下载的磁盘映像,然后双击.prefpane进行安装。
我们走了!
务必将其打开。您需要选择一个配置文件和,使用Time Machine prefpane中应该熟悉的大切换来启用网络调节器。
这不会影响localhost,因此请务必使用登台服务器或同事的计算机来模拟与您自己运行的API的慢速网络连接。您可能会发现https://ngrok.com/在这方面很有帮助。
答案 1 :(得分:79)
“有一个应用程序!” ;)Apple提供“网络链接调节器”首选项窗格,可以很好地完成工作。
Developer
文件夹中找到窗格安装程序,例如"/Developer/Applications/Utilities/Network Link Conditioner"
,安装后,如果守护程序无法启动且您不想重新启动计算机,只需使用sudo launchctl load /system/library/launchdaemons/com.apple.networklinkconditioner.plist
Developer
文件夹,则可以通过Mac Dev Center附加下载部分将该窗格安装为“适用于Xcode的硬件IO工具”软件包的一部分。链接到下载页面(您必须使用Apple ID登录):https://developer.apple.com/downloads/index.action
(归功于@nverinaud)
答案 2 :(得分:66)
答案 3 :(得分:7)
还值得一提的是,Xcode还具有针对设备而不是模拟器的内置方式。
cmmd+shift+2
)要执行此操作,您需要在Mac上安装“网络链接调节器”。查看步骤提及in Alan's answer
答案 4 :(得分:0)
没有直接的方法来模拟慢速连接,不像黑莓开发者喜欢的漂亮的网络连接模拟器。但是,由于您的模拟器连接通过您的计算机 - 您可以专注于减慢计算机的连接速度。
你想要实现两件事(取决于你的具体情况):
也许这会指出你正确的方向:
http://www.macosxhints.com/article.php?story=20080119112509736
也有一些很好的开源解决方案,但我不记得他们的名字了。
这个问题可能有所帮助:How to throttle network traffic for environment simulation?
答案 5 :(得分:0)
我认为慢速连接不足以模拟实际工作的移动数据网络行为 - 因为还有更多的数据包丢失,更高的延迟和更多的连接丢失。
这是一个方便的脚本,用于配置防火墙以模拟这些参数:
http://pmilosev-notes.blogspot.com/2011/02/ios-simulator-testing-over-different.html