Skip to content
This repository has been archived by the owner on Sep 8, 2023. It is now read-only.

Latest commit

 

History

History
executable file
·
76 lines (51 loc) · 4.94 KB

2013-09-09-network-link-conditioner.md

File metadata and controls

executable file
·
76 lines (51 loc) · 4.94 KB
title author category tag translator excerpt
Network Link Conditioner
Mattt
Xcode
popular
April Peng
产品设计是一种感同身受。知道用户想要什么,他们喜欢什么,他们不喜欢什么,是什么原因会让他们沮丧,学习去理解并且把那些动机实现于设计 —— 这就是把一些疯狂的事情做得漂亮要去做的事情。

产品设计是一种感同身受。知道用户想要什么,他们喜欢什么,他们不喜欢什么,什么原因会让他们沮丧,学习去理解并且把那些动机实现于设计 —— 这就是把一些疯狂的事情做得漂亮需要去做的事情。

因此,我们在自己的工作领域之外的世界范围内去投资。我们在不同地区调整我们的经验。我们考虑屏幕阅读器或其他辅助技术的可用性影响。我们持续评估我们对这些期望的实现。

尽管还有一个应用程序开发人员开始常常错过的关键因素,那就是网络状况,或更具体的说是互联网连接的延迟和带宽。对于一款产品来说,对用户体验如此重要的东西,基本上大多数开发者采取 ad-hoc 的方式来测试不同环境是非常不幸的。

本周的 NSHipster,让我来聊聊 Network Link Conditioner,一个 Mac 和 iOS 的实用工具,用来精确和持续模拟不良的网络环境。

安装

Network Link Conditioner 可以在 “Xcode 的硬件 IO 工具” 包中找到。这可以从苹果开发者下载页面下载。 搜索 “Network Link Conditioner”,然后选择正确版本的 “Xcode 的硬件 IO 工具” 包。

Additional Tools - Hardware

下载完成后,打开 DMG,然后双击 “Network Link Condition.prefPane” 来进行安装。

Install Network Link Conditioner

现在起,你可以在系统设置的底部启用 Network Link Conditioner。

{% comment %}{% endcomment %} Network Link Conditioner

启用后,Network Link Conditioner 可以根据内置的某个预设来改变 iPhone 模拟器的网络环境根:

  • EDGE
  • 3G
  • DSL
  • WiFi
  • High Latency DNS
  • Very Bad Network
  • 100% Loss

每个预置可以设置上行或下行的带宽极限,延迟,和丢包概率(当任何值被设置为 0 时,该值将会同你的计算机的网络环境保持一致)。

![Preset]({% asset network-link-conditioner-preset.png @path %})

如果你想同时模拟多种因素的特定组合,你也可以创建自己的预设。

尝试在 Network Link Conditioner 的各种预设启用的情况下运行你的应用程序,看看会发生什么。网络延迟会怎样影响你的应用程序的启动?带宽对 table 视图的滚动性能有什么影响?你的应用程序在 100% 丢包的情况下依然工作吗?

如果你的应用程序使用 Reachability 检测网络的可用性,同时使用 Network Link Conditioner 会让你遇到一些意想不到的结果。因此,飞行模式或 WWAN / WiFi 模式下的任何可用性行为都应该独立于网络条件进行测试。

在 iOS 设备上启用 Network Link Conditioner

虽然偏好设置面板在模拟器上工作的很好,但在实际设备上测试也是非常重要的。幸运的是,在 iOS 6 上, Network Link Conditioner 在设备上已经有现成的了。

要启用它,你需要为开发设置一下你的设备:

  1. 把你的 iPhone 或 iPad 连接到 Mac
  2. 在 Xcode 中,选择 Window > Organizer(⇧⌘2)
  3. 在侧边栏中选择你的设备
  4. 单击 “Use for Development”

![iOS Devices]({% asset network-link-conditioner-ios.png @path %})

现在,你可以在设置应用程序里看到开发者分区了,你可以在那里找到 Network Link Conditioner(只是别忘了在完成测试后把它关掉!)。