iOS开发模拟网络状态差

时间:2022-12-29 19:52:35


在开发iOS的过程当中,我们经常需要模拟不同的网络环境,来对程序进行测试。以下是分别对模拟器和真机状态下的两种不同的方法,亲测有效。

1.模拟器情况下

模拟器方面,苹果给我们提供了一个很实用的工具,Network Link Conditioner可以模拟各种不同状况下的网络环境,方便我们进行测试。

安装

Network Link Conditioner位于”Hardware IO Tools for Xcode”工具包中,这个包可以在Apple Developer Downloads下载得到,然后搜索Hardware IO Tools for Xcode,选择一个符合自己版本的下载。(具体的点击看某个Hardware IO Tools for Xcode看详情介绍)一般是最新的即可。
iOS开发模拟网络状态差

下载完成后,打开DMG文件,然后双击”Network Link Condition.prefPane”进行安装。
iOS开发模拟网络状态差
安装完成后,我们就可以在系统设置面板中的最下面找到它。
iOS开发模拟网络状态差
打开Network Link Conditioner的控制面板,我们就可以改变iPhone模拟器的网络环境,它提供了很多不同的网络状态,包括:

  • EDGE(2G)
  • 3G
  • DSL(电话线上网)
  • WiFi
  • High Latency DNS(高延迟)
  • Very Bad Network(网络状况不稳定)
  • 100% Loss(全丢包)

每一个状态都可以对带宽、延时和丢包率进行设置(如果任一项的值被设置为零,则那一项的值就与本机电脑的网络状态一致)。除了默认提供的配置,我们也可以创建自己的网络状态,以满足特殊的需求。可以点击Manage profiles,设置相应的状态。

iOS开发模拟网络状态差

2.真机情况下

其实Apple在iOS系统中预置了网络调试工具,但是只有添加过测试设备,并使用XCode连接下设备才能激活.
这时只要去设置中就可以看到多出来一项:开发者
iOS开发模拟网络状态差

点击开发者进去,然后看到中间的那行NETWORK LINK CONDITIONER

iOS开发模拟网络状态差

其中Status是表示网络限制是否开启,点击进去就可看到详细设置

iOS开发模拟网络状态差

PS:这项开启后影响的是整个系统,所以调试完毕后不要忘记关掉,免得奇怪网络状态咋不正常了。。。

借鉴:
1.Network Link Conditioner模拟iOS网络环境
2.iOS开发 调试 网络限速
3.Network Link Conditioner