iPhoneシミュレーター-低速接続をシミュレートしますか?


125

携帯電話ネットワークの遅い場所にいるときのアプリの反応を模倣するために、iPhoneシミュレータへのインターネット接続を遅くする方法はありますか?


アランの答えは受け入れられるべきです。
スタニスラフマヨロフ

@StanislavMayorovこの質問は9年前のものです。その後、アランは4年後に更新された回答を示しました。それから5年が経ちました。申し訳ありませんが、私の古い質問について、受け入れられた回答を検討および再検討していません。
Chris

回答:


67

SpeedLimitというアプリ

https://github.com/mschrag/speedlimit

よく働く。

クリス。


素晴らしくて、それを試してみて、それはビジネスをします。ありがとう!
Max MacLeod 2012

ヨセミテ:速度制限を設定できませんでした
Injectios、

2
壊れた、それは言うFailed to set speed limit
vintagexav 2015

1
これを行う正しい方法は、Alan H. answerによって説明されています
lifeisfoo 2016年

「私はもはやこのプロジェクトを維持することができません。遠慮なくフォークして所有権を取得してください。」
カタノワー

260

AppleのNetwork Link Conditionerのインストール方法

これらの手順は2019年10月現在のものです。

警告:あなただけのMacOSの新しいバージョンにアップグレードした場合は、必ず最新のネットワークコンディショナーをインストールしますXcodeのための追加のツールに)、または、それが可能黙って失敗。つまり、それをオンにしますが、何も抑制せず、パケットをドロップしません。

更新:Xcode 11以降、テザーデバイスのネットワーク状態をシミュレートするさらに簡単な方法があるかもしれません。こちらのブログ投稿をご覧くださいシミュレートされたデバイスに影響を与える方法については、以前と同様に以下を続けます。

  1. Xcodeがない場合はインストールします。

  2. Xcodeを開き、Xcodeに移動する›開発者ツールを開く›その他の開発者ツール…

    説明されているようにメニューをナビゲートするスクリーンショット

  3. Xcode用の追加ツールをダウンロードする(現在のXcodeバージョンと一致)

    追加のIOツールダウンロードリンク

  4. ダウンロードしたディスクイメージを開き、[ハードウェア]の下のネットワークリンクコンディショナー.prefpaneをダブルクリックしてインストールします。

    DMGの設定ペイン

    インストールプロンプトを示すシステム設定

  5. いきます!

    設定ペインのスクリーンショット

  6. 必ずオンにしてください。あなたは、プロファイルを選択する必要があるタイムマシンのprefpaneから精通している必要があり、大きなトグルでネットワークコンディショナーを有効にします。

    ここに画像の説明を入力してください

警告

これはlocalhostには影響しないため、ステージングサーバーまたは同僚のコンピューターを使用して、自分で実行しているAPIへの低速ネットワーク接続をシミュレートしてください。あなたは見つけることがhttps://ngrok.com/は、この点に役立ちます。


6
Xcode 8の場合、これは「Xcode 8の追加ツール」に含まれます(「XcodeのハードウェアIOツール」ではなく)
Mohit Singh

1
@MohitSinghありがとう。上記の回答を更新しました。
Alan H.

1
すごい!ありがとうございました。
トーマスCalmon

1
Xcode 10.3には追加のツールがないようですが?
レオ

1
@leo、お持ちのXcodeのメジャーバージョンに対応する現在の追加ツールを使用してください。たとえば、Xcode 11.1がインストールされている場合は、Xcode 11の追加ツールを使用します
アランH.

81

「そのためのアプリがあります!」;)Appleは、「ネットワークリンクコンディショナー」設定ペインを提供して、この作業を非常にうまく行っています。

  • Xcodeバージョン4.3より前の場合、ペインインストーラーは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(credits to @nverinaud)


2
ここで利用可能なダウンロードを閲覧するためのリンクは次のとおりです。developer.apple.com/downloads/index.action
nverinaud

2
マウンテンライオンのdoesntの仕事... stackoverflow.com/questions/12414676/...は
ザック

アプリ全体でなく、コンピュータ全体ではない場合に便利です
Charles John Thompson III

3
「ハードウェアIOツール」は、Appleの開発者ツールサイトからダウンロードできます。Xcode(およびOSX)の新しいリリースに合わせて更新します。XcodeでXcode-> Open Developer Tool->をクリックしてMore Developer Tools...ログインし、最新のアーカイブを見つけてダウンロードし、どこかにファイルをコピーし、ネットワークコンディショナー設定ペインをダブルクリックしてインストールします。 。 わーい!
i_am_jorf 2014

ヨセミテでは機能しないと思います。私はそれを「非可逆」に設定しましたが、実際には違いがありませんでした
Injectios

2

Xcodeには、シミュレータではなく、デバイス用の組み込みの方法があることにも言及する価値があります

  • 「デバイスとシミュレータ」(cmmd+shift+2)に行くだけです
  • デバイスを選択してください
  • 「デバイスの状態」が見つかるまで下にスクロールします
  • 希望のプロファイルを設定します
  • ヒットスタート

ここに画像の説明を入力してください

これを機能させるには、「ネットワークリンクコンディショナー」をインストールする必要があります。アランの答えで言及されている手順を参照してください


0

たとえば、ブラックベリーの開発者が楽しむ素晴らしいネットワーク接続エミュレーターとは異なり、遅い接続をエミュレートする直接的な方法はありません。ただし、シミュレータの接続はコンピュータを経由するため、コンピュータの接続を遅くすることに集中できます。

(状況に応じて)2つのことを達成する必要があります。

  • 帯域幅を絞る
  • 待ち時間を増やす

多分これはあなたを正しい方向に向けるでしょう:

http://www.macosxhints.com/article.php?story=20080119112509736

いくつかの優れたオープンソースソリューションもありますが、その名前を思い出せません。

この質問は役に立ちます:環境シミュレーションのためにネットワークトラフィックを抑制する方法は?


0

遅い接続は、実際のモバイルデータネットワークの動作をシミュレートするには十分ではないと主張します。これは、パケット損失が多くなり、待ち時間が長くなり、接続が切断されるためです。

これらのパラメータをエミュレートするようにファイアウォールを構成するための便利なスクリプトを次に示します。

http://pmilosev-notes.blogspot.com/2011/02/ios-simulator-testing-over-different.html


2
ネットワークリンクコンディショナー(設定ペインとしてインストールされるAppleのツール)は、遅い接続、パケット損失、および遅延をシミュレートします。
n00neimp0rtant 2014年

OS X Lionに追加されたネットワークリンクコンディショナー(2011年7月にリリース)では、このようなスクリプトは不要です。
Nick Dowell、2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.