iOS開発時に実機でネットワーク接続速度を簡単に変更する方法


設定アプリ デベロッパ

iOSアプリ開発時には様々なネットワーク環境を想定して動作を確認しておきたいものです。しかしWi-Fiや3Gはともかく、ネットワーク接続しにくい環境は逆に用意するのが難しいと思います。

そこでiOS開発時に実機で簡単にネットワーク接続速度を変更できる方法をご紹介します。

前提条件

iOS Developer ProgramまたはiOS Developer Enterprise Programに加入し、iOS実機で開発アプリがデバッグ可能になっていることが前提です。

また、Xcodeのオーガナイザで「Use for Development」済みのiOS端末(iPhoneまたはiPad)が必要です。

iOS実機でネットワーク接続速度を変更する方法

上記の前提条件を満たしたiOS端末で「設定」アプリを開くと「デベロッパ」という項目があるため選択します。
設定アプリ デベロッパ

「NETWORK LINK CONDITIONER」の「Status」を選択します。
network link conditioner

初期状態では「Enable」のスイッチがオフになっているため、オン(緑色)にします。スイッチをオンにすることで疑似ネットワーク設定を有効とすることができます。
network link conditioner enabled

「Enabled」の下の欄にはあらかじめ用意された疑似ネットワーク設定(Wi-Fi、3Gなど)が並んでいます。試しに「Very Bad Network」を選択してみます。
Very Bad Network

ちなみに「Very Bad Network」の設定は帯域幅1000kbps、パケットロス10%などとなっています。
Very Bad Network Detail

ネットワーク速度の確認

疑似ネットワーク速度が適用されたかを確認するため、「BNR スピードテスト 画像読込み版」で回線速度を計測してみます。

ダウンロード速度は42.62kbpsでした。Wi-Fiでこの速度なので、確かにネットワーク速度が変更されています。
Very Bad Networkスピードテスト

ちなみに「NETWORK LINK CONDITIONER」の設定がオフの場合は24.79Mbpsです。
Networkスピードテスト

独自のネットワーク設定プロファイルの作成

ネットワーク設定はあらかじめ用意されているものに加え、自分で新しく作成することも可能です。

ネットワーク設定を作成するには、「Add a profile…」を選択します。
add a profile

「Name」は任意の設定名を入力します。帯域幅(In bandwidth)やパケットロス(In packet loss)は編集可能な項目になっているため、テストしたいネットワーク速度を自由に設定できます。
add a profile detail

ネットワーク接続速度を通常に戻す

ネットワーク速度を元に戻したい場合は、「NETWORK LINK CONDITIONER」の「Enable」スイッチをオフ(白)にします。
Network Conditioner off

おわりに

iOSアプリは通信環境が良い場所だけで使われるとは限らないため、開発者としてはいろいろなネットワーク環境でテストしておきたいものだと思います。

iOSデベロッパ標準の機能でネットワーク速度を変えられるのはとても親切だと思いました。