在开发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看详情介绍)一般是最新的即可。
下载完成后,打开DMG文件,然后双击”Network Link Condition.prefPane”进行安装。
安装完成后,我们就可以在系统设置面板中的最下面找到它。
打开Network Link Conditioner的控制面板,我们就可以改变iPhone模拟器的网络环境,它提供了很多不同的网络状态,包括:
- EDGE(2G)
- 3G
- DSL(电话线上网)
- WiFi
- High Latency DNS(高延迟)
- Very Bad Network(网络状况不稳定)
- 100% Loss(全丢包)
每一个状态都可以对带宽、延时和丢包率进行设置(如果任一项的值被设置为零,则那一项的值就与本机电脑的网络状态一致)。除了默认提供的配置,我们也可以创建自己的网络状态,以满足特殊的需求。可以点击Manage profiles,设置相应的状态。
2.真机情况下
其实Apple在iOS系统中预置了网络调试工具,但是只有添加过测试设备,并使用XCode连接下设备才能激活.
这时只要去设置中就可以看到多出来一项:开发者
点击开发者进去,然后看到中间的那行NETWORK LINK CONDITIONER
其中Status是表示网络限制是否开启,点击进去就可看到详细设置
PS:这项开启后影响的是整个系统,所以调试完毕后不要忘记关掉,免得奇怪网络状态咋不正常了。。。
借鉴:
1.Network Link Conditioner模拟iOS网络环境
2.iOS开发 调试 网络限速
3.Network Link Conditioner