Ich möchte meine iOS-Anwendung mit allen möglichen Netzwerkbedingungen testen, einschließlich der Qualität der Verbindung (offline, schlecht, gut) und des Mobilfunkanbieters (WiFi, 3G). Für das erstgenannte haben andere bereits vorgeschlagen, den Network Link Conditioner zu verwenden, z.B. hier:
iPhone Simulator - 3G-Verbindung simulieren
was für die Bandbreite und den Paketverlust gut ist, aber leider ist es nicht möglich, den Trägertyp zu ändern, der an den Simulator gemeldet wird. Also suche ich nach einer nicht so hackigen Art, Änderungen am Trägertyp zu simulieren. Ich sagte nicht-so-Hacky, weil ich bereits eine Hacky-Lösung gefunden habe, die außerdem unvollständig ist, da sie Code nur täuschen kann, der explizit von Apples berühmtem Reachability
-Modul abhängt. (Wenn jemand interessiert ist, kann ich es hier posten.)
Gibt es eine Möglichkeit, zu entführen / manipulieren, was die SystemConfiguration
API meldet?
Ich verwende die ausgezeichnete Bibliothek OHHTTPStubs
, um diese Dinge zu testen.
Sie geben sogar die Verbindungstypen an, die Sie simulieren möchten, und ihre Geschwindigkeit. Und es ist einfach, in den Tests Schein-Netzwerk-Returns zu erstellen. Das bedeutet, dass Sie nicht über ein tatsächliches Netzwerk testen, so dass Ihre Tests bestimmter sind.
Verwenden Sie den Network Link Conditioner, den die Xcode-Tools bereitstellen
installieren Sie es mit dem folgenden Befehl: Installieren des Apple Network Link Conditioner-Tools
Tags und Links ios xcode ios-simulator connectivity system-configuration