在iOS开发中我们有在各种不同网络状态下测试app运行状态的需求。苹果给我们提供了在模拟器和真机状态下,模拟各种网络状态的软件。

在模拟器中

苹果提供的模拟网络状态的工具官网地址
下载该工具需要登录Apple ID,根据需求选择不同的版本。

 

选择如图所示,点击Network Link Conditioner.prefPane运行

 

在系统偏好设置中出现了该工具的选项

 

 

 

不同选项对应的网络状态。

  • 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的强大是不可否认,在此不表。

原文链接(戳这里):

iOS模拟各种网络状态的更多相关文章

  1. iOS 判断当前网络状态的三种方法

    http://www.cocoachina.com/ios/20171103/21039.html 在项目中,为了好的用户体验,有些场景必须线判断网络状态,然后才能决定改干嘛.比如视频播放,需要线判断 ...

  2. iOS开发 - 检测网络状态(WIFI、2G/3G/4G)

    本文转载至 http://blog.csdn.net/wangzi11322/article/details/45580917 检测网络状态 在网络应用中,需要对用户设备的网络状态进行实时监控,目的是 ...

  3. iOS实时监控网络状态的改变

    在网络应用中,有的时候需要对用户设备的网络状态进行实时监控,有两个目的: (1)让用户了解自己的网络状态,防止一些误会(比如怪应用无能) (2)根据用户的网络状态进行智能处理,节省用户流量,提高用户体 ...

  4. iOS开发系列-网络状态监控

    概述 在网络应用中,需要对用户设别的网络状态进行实时监控,可以让用户了解自己的网络状态出现网络问题提示用户. 一般在网络状态不好的场景下需要做一些处理比如: WIFT/3G/4G网络:自动下载高清图. ...

  5. iOS开发-关于网络状态的判断

    在判断网络状态这个问题上,苹果提供了一个叫Reachability的第三方库,但是这个库并不能真正的检测我们的网络状态,我也是在调试程序的时候发现的.详情可以阅读这个博客http://blog.csd ...

  6. iOS Reachability检测网络状态

    一.整体介绍 前面已经介绍了网络访问的NSURLSession.NSURLConnection,还有网页加载有关的webview,基本满足通常的网络相关的开发.其实在网络开发中还有比较常用的就是网络状 ...

  7. IOS - 总结(网络状态变更)

    - (void)initNetworkMonitor { NSURL *baseURL = [NSURL URLWithString:@"http://www.baidu.com/" ...

  8. iOS完美的网络状态判断工具

    大多数App都严重依赖于网络,一款用户体验良好的的app是必须要考虑网络状态变化的.iOSSinger下一般使用Reachability这个类来检测网络的变化. Reachability 这个是苹果开 ...

  9. iOS 获取网络状态

    在iOS开发者,获取网络状态比较常用 -(NSString *)getNetWorkStates{ UIApplication *app = [UIApplication sharedApplicat ...

随机推荐

  1. Centos6.4 用rpm方式安装MySql5.6

    1.查看系统是否安装了MySQL     使用命令:     #rpm -qa | grep mysql    2.卸载已安装的MySQL      卸载mysql命令如下:       #rpm - ...

  2. java基础要点

    Java语言是现在比较常用的编程语言,因为Java语言可以编写桌用程序,也可以编写web程序,还能编写嵌入式程序.这是由于相比脚本语言,Java 的运行速度要快.而对于底层语言,Java与平台无关,可 ...

  3. Sybase alter 用法

    原文地址:http://lujinan858.iteye.com/blog/437019 --示例 1 为表添加列.Adaptive Server 为表中每个现有行分配一个 NULL --列值: al ...

  4. WANem2.3

    http://downloads.sourceforge.net/wanem http://openmaniak.com/wanem_network.php 只能以iso方式运行,安装到硬盘后无法保存 ...

  5. 64. ZigZag Conversion

    ZigZag Conversion The string "PAYPALISHIRING" is written in a zigzag pattern on a given nu ...

  6. oracle 常见恢复

    author by :shawnloong 环境:windows 2008 r2 sp1 db:oracle 11g r2 做之前记得做个完整备份 ONFIGURE RETENTION POLICY ...

  7. php代码运行提速的20个小技巧(转)

    用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量,单引号则 不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中 ...

  8. 解决GBK字符转UTF-8乱码问题

    通过以下方法将GBK字符转成UTF-8编码格式的byte[]数组 package test; import java.io.UnsupportedEncodingException; public c ...

  9. javascript 自调用函数 闭包

    <script type="text/javascript"> var car = {name:"lhs",model:500}; window.o ...

  10. MVC 自定义IModelBinder实现json参数转Dictionary<string, string>

    IModelBinder的学习不算深入,现在用它来实现一个json转Dictionary<string, string> 一.原始json转Dictionary<string, st ...