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?
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.
Installieren Sie Xcode, wenn Sie es nicht haben
Öffnen Sie XCode und gehen Sie zu Xcode ›Open Developer Tool› More Developer Tools…
Download Zusätzliche Tools für Xcode
Öffnen Sie das heruntergeladene Image, und doppelklicken Sie auf das PrefPane, um es zu installieren.
Da gehen wir!
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.
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.
"Dafür gibt es eine App!" ;) Apple bietet das Einstellungsfenster "Network Link Conditioner", das die Aufgabe recht gut erledigt.
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
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)
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
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):
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?