iOS 中如何模拟弱网环境

关注我,每天分享一个关于 iOS 的新知识

前言

在 iOS App 开发中,时常要面临用户的各种网络环境,如果想要体验更好,不仅要在正常网络环境下能够正常运行,也要在弱网环境下能够正常运行。

今天来教大家如何模拟弱网环境。

iOS 上自带的网络链接调节器

在 iOS 的设置中默认自带了一个用于开发的网络调节器,可以用于模拟弱网环境,打开手机系统设置,往下翻,找到开发者

如果你的手机设置里没有看到这个选项,可以先打开 Xcode,然后用数据线和手机相连,过一会儿就能看到开发者选项了。

iOS 16 以上需要在设置中将隐私与安全中的开发者模式打开

点进开发者中,可以看到网络链接调节器的一栏,再点进去就是用来模拟各种不同网络场景了。

可以在这个页面上找到系统默认预设的一些网络配置(100% 丢包、3G 网络、Wi-Fi 等),首先把启用开关打开,然后点击其中一个预设来选择预设网络

现在你就可以在这种网络状态下来测试自己的 App 了。

点击预设右边的信息按钮还可以看到这个网络配置具体的参数,但不能修改。

如果预设的这些配置无法满足你的需求,你还可以点击下边的添加描述文件按钮来自定义一个配置,可以自定义带宽、丢包、延迟等参数。

用 Charles 模拟弱网

还可以用 Charles 等抓包工具来模拟器弱网,首先在电脑上打开 Charles 客户端,配置好代理之后,选择顶部工具栏 Proxy,然后点击下拉菜单中的 Throttle Settings

在弹出的页面中,进行设置即可,可以直接选择 Throttle preset 预设的选项,或者直接在下边的带宽、丢包等输入框中自定义值。

点击 OK 之后就可以在 App 里进行弱网测试了。

Mac 电脑配置弱网

除了上边两个方法之外,如果你想在模拟器中运行测试,可能需要在你的 Mac 上模拟弱网,Xcode 有一些附加工具可以做到这一点。

打开 Xcode,点击顶部菜单 Xcode -> Open Developer Tool -> More Developer Tool,默认情况下会打开浏览器跳转到苹果的下载网站 developer.apple.com/download/al...,进入之后需要先登录开发者账号。

然后在输入框中搜索 network tool,搜索结果中会出现 Xcode 的Additional Tools,点击下载

下载之后在电脑上打开这个文件,然后打开 Hardware 文件夹,就能看到Network Link Conditioner.perfPane 文件了,双击打开按照提示步骤安装即可。

安装之后在系统设置里能够看到多了 Network Link Conditioner 的选项,点进去之后就可以像在手机上一样的方式操作弱网了。

也可以通过点击右下角的 Manage Profiles 来管理和添加自定义的配置。

这里每天分享一个 iOS 的新知识,快来关注我吧

本文同步自微信公众号 "iOS新知",每天准时分享一个新知识,这里只是同步,想要及时学到就来关注我吧!

相关推荐
2501_915918416 小时前
移动端 HTTPS 抓包实战,多工具组合分析与高效排查指南
数据库·网络协议·ios·小程序·https·uni-app·iphone
Digitally6 小时前
解决“Move to iOS 卡在准备中”的 9 种有效方法
macos·ios·cocoa
5***790010 小时前
Swift进阶
开发语言·ios·swift
denggun1234510 小时前
ios卡顿优化
ios·xcode
從南走到北10 小时前
JAVA国际版打车APP打车顺风车滴滴车跑腿APP源码Android+IOS+H5
android·java·ios
QuantumLeap丶11 小时前
《Flutter全栈开发实战指南:从零到高级》- 13 -状态管理GetX
android·flutter·ios·前端框架
從南走到北14 小时前
JAVA国际版二手车交易二手车市场系统源码支持Android+IOS+H5+APP
android·java·ios
ajassi200016 小时前
开源 Objective-C IOS 应用开发(九)复杂控件-tableview
ios·开源·objective-c
2501_9151063216 小时前
iOS性能调优的系统化实践,从架构分层到多工具协同的全流程优化指南(开发者深度版)
android·ios·小程序·架构·uni-app·iphone·webview
uiop_uiop_uiop16 小时前
iOS arm64e hook MGCopyAnswer got Crash or Only Partial results got hooked
macos·ios·cocoa