2009-07-03 9 views
14

アップル社は、インターネット接続が見つからない場合、私にユーザーにフレンドリーな謝罪をしたいと考えています。 Reachabilityデモを使用すると、これは簡単でした。私はそれをさらに進化させ、接続損失を監視したい。デモにはこの機能がありますが、動作しているかどうかをテストするために接続を切断する方法を理解できません。IPhone Connectivity Testing:どのようにして接続を失うのですか?

接続を失う(または実際に失う)のをシミュレートするにはどうすればよいですか?

答えて

18

iPhone Simulatorで開発している場合は、コンピュータをインターネットから簡単に取り外します。コンピュータにネットワークアクセスがない場合、どちらもiPhone Simulatorは動作しません。あなたがテストのために使用することができます

まず、セットアップのWiFiルーター:

は、あなたが次の操作を行うことができ、デバイス上でテストします。

携帯電話で飛行機モードをオンにしてから、WiFiをオンに戻すことができます。これにより、3G接続がデータアクセスを提供しなくなります。

アプリケーションを起動します。今すぐあなたは接続の損失をシミュレートするためにあなたのWiFiルーターを切断することができます。

+14

またはファラデーケージを試してみませんか? http://en.wikipedia.org/wiki/Faraday_cage – russau

+1

私は通常錫の帽子をかぶっているので、ケージは自然な進歩です。 heh ジョーイ、私はデバイスでテストしたかった。乾杯。 –

+2

あなたは実際の接続損失をシミュレートするためにあなたの電話を電子レンジに置くことができます...ちょうどマイクロ波をオンにしないことを忘れないでください! – Sam

13

SpeedLimit preference paneを使用すると、シミュレータのネットワークレイテンシをシミュレートできます。そしてipfwコマンドの上に構築されたcommand line versionがあります。

コードをヤンクしたりWi-Fiを殺すだけの利点は、特定のホストに当たったときの速度を指定できるため、通常のネットワークサービスを停止せずにテストに使用できることです。

+0

ありがとう、SpeedLimitのものは非常に便利です。 –

4

シミュレータでのテストでは、私はLittle Snitchをよく使います。これは、外界と何が通信できるか、どれくらいの期間、ルールを書くのに非常に便利なアプリケーションです。

また、アプリケーションがオンザフライでインターネットにアクセスすることを希望する場合に通知し、その時間、そのセッションまたは永遠に一時的にアクセスを制限することができます。

デバイスのテストでは、ワイヤレスルータにログインし、テスト中はMAC IDでネットワークを一時的に無効にするか、または制限をオンにします。

2

おそらく、この環境設定パネルはあなたにとって役に立ちます:SpeedLimit.prefPane接続を緩めることはできませんが、到達しようとしているホストとポートに基づいて速度を低下させることができます。

4

使用Charles Web Proxy ネットワークスピードをシミュレートするために、アプリケーションが送信した応答とスロットル接続をすべて検査できます。 Bandwidth = 0の「Disconnected」というカスタムスロットルプロファイルを作成して、ネットワークの切断をシミュレートします。

+0

到達可能性に関する限り、帯域幅0は切断ではありません。デバイスのプロキシとして使用すると、デバイスは引き続きWi-Fiネットワークと良好に接続していると考えられ、到達可能性は失敗を返しません。 0の帯域幅は、依然としてネットワークストールのテストに役立つツールです。 – CornPuff

12

あなたはヨセミテでは、Appleのネットワークリンクコンディショナー

をインストールすることができます:

ネットワークリンクコンディショナー

は、パッケージ「XcodeのためのハードウェアIOツール」に記載されています。これは Apple Developer Downloads pageからダウンロードできます。ダウンロードが完了したら、DMGを開き、「Network Link Condition.prefPane」をダブルクリックしてインストールします( source)。

この設定パネルでは、0kbpsの速度でプロファイルを作成できます。

マウンテンライオン/マーベリックス:Xcode > Open Developer Tool > More Developer Tools
ライオン:OSXの古いバージョンでは

Network Link Conditioner

/Developer/Applications/Utilities/Network Link Conditioner

+4

注:Xcode 4.3(または4.2?)以降は、AppleのWebサイトとは別にインストールする必要があります.Xcodeでは、「Xcode/Open Developer Tools/More Developer Tools ...」に移動します。ダウンロードセクションに移動します。リンクコンディショナーは、「Hardware IO Tools for Xcode」にあります。 – Stefan

+0

いいえ、値を0にしてプロファイルを作成しても、「接続なし」の状況はシミュレートされません... – gemini

0

が同様の必要性を検索する実際のデバイス上の損失の多い無線LANネットワーク接続をシミュレートする、すなわち、Iどうすればいいか分かりました:) MacBook Proをイーサネットに接続し、私のWiFi接続をデバイスに共有しました。 アップルのネットワークリンクコンディショナーPrefpaneを使用して、接続品質を試してみましょう。 3G、Edgeなどのボーレートをシミュレートするのに非常に便利です。

次のステップ:MAC OS Xで動作するUSB​​無線LANアダプターを見つけて購入し、私たち全員(開発者チーム)に各コンピューターをイーサネットに接続せずにテストできるようにします。

これはあなたのお手伝いをします。

関連する問題