iOS模拟各种网络状态
在iOS开发中我们有在各种不同网络状态下测试app运行状态的需求。苹果给我们提供了在模拟器和真机状态下,模拟各种网络状态的软件。
在模拟器中
苹果提供的模拟网络状态的工具官网地址
下载该工具需要登录Apple ID,根据需求选择不同的版本。
![](http://upload-images.jianshu.io/upload_images/1101711-9bf849a46c5fee8d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
选择如图所示,点击Network Link Conditioner.prefPane运行
![](http://upload-images.jianshu.io/upload_images/1101711-d5e109326d3b332c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
在系统偏好设置中出现了该工具的选项
![](http://upload-images.jianshu.io/upload_images/1101711-02e614754f808e10.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](http://upload-images.jianshu.io/upload_images/1101711-8d0fda3f64b3a4d8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](http://upload-images.jianshu.io/upload_images/1101711-5ae8b5176feaf553.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
不同选项对应的网络状态。
- Preset Profiles 预设网络状况
配置 | 说明 |
---|---|
100%Loss | 全丢包 |
3G | 3G网络 |
DSL | 电话线上网 |
Edge | 2G网络 |
High Latency DNS | 高延迟 |
Very Bad Network | 网络状况不稳定 |
Wifi | Wifi网络 |
- Custom Profiles 自定义网络状况。
注意点:该工具是对全局有效的,如果开启了某一项网络状态,对整个系统都有效。所以在测试完app后要及时关闭。
真机
苹果在iOS系统中预置了网络调试工具,但是只有添加过测试设备,并使用Xcode连接下设备才能激活.
- Xcode未连接前
Xcode连接后发现设置中多出来一项:开发者
选择Status
里面的选择和在mac上的选项一样。
注意点:开发者选项也是对全局有效的,如果开启了某一项网络状态,对整个系统都有效。所以在测试完app后要及时关闭。
其他
模拟网络状态还可以使用网络分析神器Charles。有关Charles的使用请移步这里 个人认为苹果自带的工具已经给我们提供了足够强大的功能,并且使用简单方便。使用Charles岂不是杀鸡用牛刀。当然Charles的强大是不可否认,在此不表。
原文链接(戳这里):