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新知",每天准时分享一个新知识,这里只是同步,想要及时学到就来关注我吧!

相关推荐
用户870568130451 天前
iOS 异步渲染:从 CALayer 切入的实现与优化
ios
东坡肘子1 天前
从开放平台到受控生态:谷歌宣布 Android 开发者验证政策 | 肘子的 Swift 周报 #0101
android·swiftui·swift
HarderCoder1 天前
用 `defer` 管理异步清理:Swift 中的“保险丝”模式
swift
大熊猫侯佩2 天前
冰火岛 Tech 传:Apple Foundation Models 心法解密(上集)
llm·ai编程·swift
HarderCoder2 天前
深入理解 SwiftUI 的 Structural Identity:为什么“换个条件分支”就会丢状态?
swiftui·swift
HarderCoder2 天前
Swift Continuations 完全指南:一口气弄懂 4 种“桥梁”
swift
HarderCoder2 天前
Swift 的 `withoutActuallyEscaping`:借一个 `@escaping` 身份,但不真的逃跑
swift
Swift社区2 天前
Swift 解法详解:LeetCode 371《两整数之和》
开发语言·leetcode·swift
Swift社区2 天前
Swift 解法详解 LeetCode 362:敲击计数器,让数据统计更高效
开发语言·leetcode·swift
HarderCoder2 天前
Opaque Types 完全指南:Swift 的“密封盒子”魔法
swift