[Xcode] device conditionsを使用してiOS端末の通信状態をシミュレートする
はじめに
こんにちは。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」を使用して行うこともできます。気になる方は以下の記事もご覧ください。