web-dev-qa-db-ger.com

iPhone Simulator - Eine langsame Verbindung simulieren?

Gibt es eine Möglichkeit, die Internetverbindung zum iPhone Simulator zu verlangsamen, um nachzuahmen, wie die App möglicherweise reagiert, wenn Sie sich an einem langsamen Ort im Mobilfunknetz befinden?

107
Chris

Eine App namens SpeedLimit

https://github.com/mschrag/speedlimit

Funktioniert super.

chris.

66
PyjamaSam

So installieren Sie den Network Link Conditioner von Apple

Anleitung Stand 4. November 2016 - macOS Sierra 10.12.
Warnung: Wenn Sie gerade ein Upgrade auf macOS Sierra durchgeführt haben, stellen Sie sicher, dass Sie den neuesten Network Conditioner ( in Additional Tools für Xcode 8.2 ) oder es wird im Hintergrund fehlschlagen ; Das heißt, Sie werden es einschalten, aber es wird nichts drosseln oder Pakete fallen lassen.

  1. Installieren Sie Xcode, wenn Sie es nicht haben

  2. Öffnen Sie XCode und gehen Sie zu Xcode ›Open Developer Tool› More Developer Tools…

    Screen shot of navigating the menu as described

  3. Download Zusätzliche Tools für Xcode

    Additional IO Tools download link

  4. Öffnen Sie das heruntergeladene Image, und doppelklicken Sie auf das PrefPane, um es zu installieren.

    pref pane in DMG

    system preferences showing installation Prompt

  5. Da gehen wir!

    Screen shot of the preference pane

  6. Achten Sie darauf, es einzuschalten. Sie müssen ein Profil auswählen. und Aktivieren Sie den Network Conditioner mit dem großen Schalter, der aus dem Time Machine-Prefpane bekannt sein sollte.

    enter image description here

Vorbehalt

Dies hat keine Auswirkungen auf localhost. Verwenden Sie daher unbedingt einen Staging-Server oder den Computer eines Kollegen, um langsame Netzwerkverbindungen zu einer von Ihnen ausgeführten API zu simulieren. Sie finden https://ngrok.com/ in dieser Hinsicht hilfreich.

211
Alan H.

"Dafür gibt es eine App!" ;) Apple bietet das Einstellungsfenster "Network Link Conditioner", das die Aufgabe recht gut erledigt.

  • für Xcode-Versionen vor 4.3 befindet sich das Fensterinstallationsprogramm in Ihrem Ordner Developer, z. "/Developer/Applications/Utilities/Network Link Conditioner" Wenn der Daemon nach der Installation nicht startet und Sie Ihren Computer nicht neu starten möchten, verwenden Sie einfach Sudo launchctl load /system/library/launchdaemons/com.Apple.networklinkconditioner.plist
  • wenn Sie mit dem Ordner Developer bereits fertig sind, können Sie den Bereich als Teil des Pakets "Hardware IO Tools für Xcode" installieren, das über den Abschnitt "Zusätzliche Downloads" im Mac Dev Center verfügbar ist.

Link zur Downloadseite (Sie müssen sich mit Ihrer Apple ID anmelden): https://developer.Apple.com/downloads/index.action
(Dank an @nverinaud)

79
matm

Ich würde argumentieren, dass eine langsame Verbindung nicht ausreicht, um das Verhalten eines realen mobilen Datennetzwerks zu simulieren - da es auch viel mehr Paketverluste, höhere Latenzen und mehr Verbindungsabbrüche gibt.

Hier ist ein praktisches Skript zum Konfigurieren der Firewall zum Emulieren dieser Parameter:

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

0
Nick Dowell

Es gibt keine direkte Möglichkeit, eine langsame Verbindung zu emulieren, im Gegensatz zum Beispiel zum Emulator für nette Netzwerkverbindungen, den Blackberry-Entwickler genießen. Da die Verbindung Ihres Simulators jedoch über Ihren Computer erfolgt, können Sie sich einfach darauf konzentrieren, die Verbindung Ihres Computers zu verlangsamen.

Sie möchten zwei Dinge erreichen (abhängig von Ihren Umständen):

  • drossle deine Bandbreite
  • erhöhen Sie Ihre Latenz

Vielleicht weist dies Sie in die richtige Richtung:

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

Es gibt auch einige gute Open Source-Lösungen, aber ich kann mich nicht an deren Namen erinnern.

Diese Frage könnte helfen: Wie kann der Netzwerkverkehr für die Umgebungssimulation gedrosselt werden?

0
JJ Rohrer