模拟弱网调试是iOS开发过程中比较常见的一种场景,比如:网络请求弱网下UI展示逻辑测试、图片弱网优化、下载文件弱网中断数据同步等,本文主要介绍iOS真机和模拟器弱网调试的方法。

一、iOS 真机环境下弱网环境搭建

对于真机的弱网调试,我们使用手机自带的弱网模拟工具 Network Link conditioner (网络链接调节器)即可。

  • 进入系统“设置”

  • 点击“开发者”选项

  • 选择“Network Link conditioner”(网络链接调节器)

  • 选择对应的不同场景描述文件(WIFI/3G/Edge/DSL/100% Loss),然后打开“启用”开关(Enable)即可。可自行添加自定义场景描述文件或对已有场景进行参数配置

注意:iOS 16 以上系统需要在“设置”中将“隐私与安全性”中的“开发者模式”打开

二、iOS 模拟器弱网环境搭建:

常见方案有两种:

  • 方案一:Charles (iOS真机和模拟器都适用)

  • 方案二:Mac上安装Network Link conditioner工具

1、使用 Charles 工具

(1)启用Throttling设置:
选择“Proxy”选项卡 –> “Throttle Settings”–>“Enable Throttling”

(2)选择“Throttle preset”:ADSL/DSL/VDSL/Fibre/3G/4G,也可以通过“Add Preset”来新增自定义模式。

相关设置参数说明:

  • Banwidth(kbps):带宽(上行/下行数据传输速率)

  • Utilisation(%):利用率(可用带宽占总带宽百分比)

  • Round-trip latency(ms):往返延迟(数据从客户端到服务器再返回的传输时间)

  • MTU(bytes):最大传输单元(单个TCP包的最大 size)

  • Reliabilit(%):可靠性(数据包传输成功概率)

  • Stability(%):稳定性(网络连接波动概率)

  • Unstable quality range(%):不稳定性范围(网络质量随机下降的波动区间)

(3)默认作用于全局,如果需要作用于指定域名,请勾选“Only for selected hosts”

直接去官网下载Xcode Additional tool工具(需要对应Xcode版本):https://developer.apple.com/download/more/

Network Link Conditioner 安装方法:

(1)找到下载目录中的 Additional_Tools_for_Xcode.dmg 文件并打开

(2)找到Hardware文件夹中的 Network Link Conditioner.prefPane 应用并点击安装

(3)安装完成后,直接去Mac的“系统设置”里面找到 Network Link Conditioner 项

(4)选择对应的描述文件(WIFI/3G/Edge/DSL/100% Loss),点击开关即可开启(OFF/ON)

(5)“Manage Profiles…”选项可以编辑不同场景的描述文件或者添加自定义场景描述文件

Network Link Conditioner 相关设置参数说明

带宽单位为Kbps,丢包率单位是百分比,延迟单位是ms

  • Downlink Bandwidth (下行宽带):设备从服务器接收数据的最大速率(Kbps),限制下载速度。

  • Downlink Packets Dropped (下行丢包率):下行链路中数据包丢失比例(百分比)

  • Downlink Delay (下行延迟):服务器到达设备的单向传输时间(毫秒)

  • Uplink Bandwidth (上行宽带):设备向服务器发送数据的最大速率(Kbps),限制上传速度。

  • Uplink Packets Dropped (上行丢包率):上行链路中数据包丢失比例(百分比)

  • Uplink Delay (上行延迟):设备发送数据到服务器的单向传输时间(毫秒)

  • DNS Delay (DNS解析延迟):域名解析为IP地址所需要的时间(毫秒)

——————————————————————————————————

完整版及更多好文推荐:

欢迎关注 《iOS开发秘籍》 公众号,获取最新首发内容,点关注不迷路!

欢迎关注 《iOS开发秘籍》 公众号,获取最新首发内容,点关注不迷路!

欢迎关注 《iOS开发秘籍》 公众号,获取最新首发内容,点关注不迷路!

本文内容中部分来自网络,后续会持续更新完善。欢迎一起学习交流!

如需转载,请注明出处

iOS开发弱网调试你需要知道这些