携帯電話ネットワークの遅い場所にいるときにアプリがどのように反応するかを模倣するために、iPhone Simulatorへのインターネット接続を遅くする方法はありますか?
2016年11月4日現在の指示– macOS Sierra 10.12。
警告:macOS Sierraにアップグレードしたばかりの場合は、必ず最新のネットワークコンディショナーをインストールしてください( Xcode 8.2の追加ツール )または サイレントに失敗 ;つまり、有効にしますが、何も抑制したり、パケットをドロップしたりしません。
Xcodeがない場合はインストールします
XCodeを開いてXcodeにアクセス›開発者ツールを開く›その他の開発者ツール…
ダウンロードXcodeの追加ツール
ダウンロードしたディスクイメージを開き、.prefpaneをダブルクリックしてインストールします。
行くぞ!
必ずオンにしてください。プロファイルを選択し、Time Machine prefpaneでおなじみの大きなトグルでネットワークコンディショナーを有効にする必要があります。
これはlocalhostには影響しません。そのため、ステージングサーバーまたは同僚のコンピューターを使用して、自分で実行しているAPIへの遅いネットワーク接続をシミュレートしてください。この点で https://ngrok.com/ が役立つ場合があります。
「そのためのアプリがあります!」 ;)Appleは、「Network Link Conditioner」設定ペインを提供し、非常にうまく機能します。
Developer
フォルダーにあります。 "/Developer/Applications/Utilities/Network Link Conditioner"
、インストール後、デーモンの起動に失敗し、マシンを再起動したくない場合は、Sudo launchctl load /system/library/launchdaemons/com.Apple.networklinkconditioner.plist
Developer
フォルダーを使用している場合は、Mac Dev Centerの追加ダウンロードセクションから入手できる「ハードウェアIO Tools for Xcode」パッケージの一部としてペインをインストールできます。ダウンロードページへのリンク(Apple ID)でログインする必要があります: https://developer.Apple.com/downloads/index.action
(@ nverinaudへのクレジット)
低速接続では、実際のモバイルデータネットワークの動作をシミュレートするには不十分だと主張します。これは、パケット損失、レイテンシーの増加、接続のドロップの増加も伴うためです。
これらのパラメーターをエミュレートするようにファイアウォールを構成する便利なスクリプトを次に示します。
http://pmilosev-notes.blogspot.com/2011/02/ios-simulator-testing-over-different.html
たとえば、ブラックベリーの開発者が楽しんでいるニースのネットワーク接続エミュレーターとは異なり、低速な接続をエミュレートする直接的な方法はありません。ただし、シミュレーターの接続はコンピューターを経由するため、コンピューターの接続を遅くすることに集中できます。
(状況に応じて)2つのことを達成する必要があります。
たぶんこれはあなたを正しい方向に向けます:
http://www.macosxhints.com/article.php?story=20080119112509736
いくつかの優れたオープンソースソリューションもありますが、その名前を思い出せません。
この質問が役立つ場合があります: 環境シミュレーションのためにネットワークトラフィックを調整する方法?