甘いものが好きです

iOS App開発時に感じた疑問や課題、その他の雑感などを書いていきます。

通信速度が非常に遅い時のAppの動作を確認する方法

Appの通信機能が正しく実装されているかを確認上では、通信速度が著しく低い場合や、通信が途中で途切れる場合の対処までもを確認しなければならない。ところが、確認のために理想の通信状況を用意しなければならないので、実機で確認することは難しい。Appの最終的な動作確認はもちろん実機で行うべきだが、このような通信機能の各場合における動作確認にはiOSシミュレータが便利だ。MacのLANケーブルの抜き差しで通信断を再現したり、Mac側で通信速度制限を行うことで擬似的に通信速度が低い状況を作り上げることができる。

Macで通信速度制限を行う方法

Mac側で通信速度制限を行うのには「SpeedLimit」が役に立つ。「SpeedLimit」はMacのシステム環境設定に追加される設定パネルとして提供されているもので、ポートや接続先ホストを指定した上で速度制限をかけることができる。
404 Error - FC2ブログ

おまけ

ひとつ悩みの種があるとすれば、通信速度制限をかけると動作確認の時間がかかってしまい、iOSシミュレータを長時間起動させてしまう場合があるということだ。iOSシミュレータを起動し続けるとBTServerのCPU使用率が高くなり、Mac全体のパフォーマンスに問題が出てしまうことがある。あまり長い間iOSシミュレータを起動し続けないように気をつけなければならない。

Xcode 4.2付属のiOSシミュレータを起動し続けるとBTServerのCPU使用率が非常に高くなる(追記あり) - 甘いものが好きです
BTServerのCPU使用率が非常に高くなる問題はXcode 4.2.1で解決? - 甘いものが好きです

追記(2012/05/19)

Xcodeに標準でついてくる「Network Link Conditioner」の使い勝手がよさそうなので、「SpeedLimit」と同じくデバッグ時の帯域制限用アプリの選択肢として覚えておきたい。
Xcodeに標準でついてくる帯域制限アプリ「Network Link Conditioner」 - 甘いものが好きです