Network Link Conditioner

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

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

尽管还有一个应用程序开发人员开始常常错过的关键因素,那就是网络状况,或更具体的说是互联网连接的延迟和带宽。对于一款产品来说,对用户体验如此重要的东西,基本上大多数开发者采取 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。

Network Link Conditioner

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

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

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

Preset

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

尝试在 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

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

作者 Mattt
Mattt

Mattt (@mattt) is a writer and developer in Portland, Oregon. He is the founder of NSHipster and Flight School, and the creator of several open source libraries, including AFNetworking and Alamofire.

翻译者
April Peng

做 iOS / Mac / Web 开发的大白羊妹子~

下一篇文章

决定支持 LSP 可能是苹果自 2014 年将 Swift 作为开源软件发布以来,为 Swift 做出的最重要的决定。这对于 APP 开发者来说是一件大事,对于其他平台上的 Swift 开发者来说更是一件大事。