[Xcode] device conditionsを使用してiOS端末の通信状態をシミュレートする

本記事ではXcodeのdevice conditionsを使用してiOS端末の通信速度をシミュレートする方法を紹介します。
2020.04.07

はじめに

こんにちは。CX事業本部の平屋です。

本記事ではXcodeの device conditions を使用してiOS端末の通信速度をシミュレートする方法を紹介します。

検証環境

  • macOS Catalina 10.15.3
  • Xcode Version 11.3.1 (11C504)
  • iPhone XS, iOS 13.3.1

device conditions

device conditionsは Xcode 11 で追加された機能であり、以下の2種類をシミュレートすることができます。

  • Network Link(ネットワークの状態のシミュレート)
  • Temperature(端末の温度のシミュレート)

本記事ではNetwork Linkを扱います。

通信状態をシミュレートする

さっそく通信状態をシミュレートする方法を見ていきます。

端末をMacに接続し、Xcodeの[Window]メニュー > [Devices and Simulators]を開きます。

Devices and Simulators画面が表示されます。[device conditions]項目はこの画面の下の方にあります。

通信状態のシミュレートを開始するには、[Condition]を[Network Link]に設定し、[Profile]を選択し、[Start]をクリックします。

[Profile]は以下の中から選択可能です。

シミュレートが有効になると、端末のステータスバーの背景が灰色になります。

シミュレートを終了するには[Stop]をクリックします。

このように、端末側でアプリを切り替えることなく、通信状態のシミュレートのON/OFFを好きなタイミングで切り替えられます。

API通信失敗時の実装の動作確認などで役に立つでしょう。例えば「特定の画面が表示されたら通信状態を悪くする」「通信開始して少し経ってから通信速度を遅くする」といった検証を簡単に行うことができます。

さいごに

本記事ではXcodeのdevice conditionsを使用してiOS端末の通信速度をシミュレートする方法を紹介しました。気になった方はぜひ使ってみてください。

iOS端末の通信速度のシミュレートは「Network Link Conditioner」を使用して行うこともできます。気になる方は以下の記事もご覧ください。

参考資料