603 Stimmen

Ist es möglich, das Netzwerk im iOS-Simulator zu deaktivieren?

Ich versuche, einige inkonsistente Verhaltensweisen zu beheben, die ich in einer Anwendung sehe, die ihre primären Daten aus dem Internet bezieht. Ich sehe die Probleme nicht im Simulator, sondern nur auf dem Gerät, daher möchte ich die Netzwerk- und Konnektivitätsumgebung im Simulator reproduzieren.

Gibt es eine Möglichkeit, das Netzwerk im Simulator zu deaktivieren?

(Ich stelle eine Fernverbindung zum Mac her, um zu programmieren, und es gibt im Moment keine andere Möglichkeit, also ist das Deaktivieren des Betriebssystems keine Option).

7voto

mabounassif Punkte 2241

Sie können die Internetverbindung mit einer Anwendung eines Drittanbieters drosseln, z. B. Karl .

Hit Command + Shift + T auf einem Mac, um die Drosselung einzurichten.

5voto

Eran Goldin Punkte 955

Sie können verwenden Kleiner Schnatz um den Netzwerkverkehr zu jedem einzelnen Prozess zu unterbrechen, einschließlich derer, die im iOS-Simulator laufen. Auf diese Weise können Sie Ihre Internetverbindung beibehalten und Ihre laufende App trennen.

5voto

Darshit Shah Punkte 2288

Eine wahrscheinlich verrückte Idee oder ein Patch:

Schalten Sie einfach das Flag für die Erreichbarkeit des Netzes um

Dies ist der Code, mit dem ich mein Flag zur Laufzeit umschalten kann, indem ich die Simulator-Speicher-Warnung". und es ist völlig sicher . Stellen Sie einfach sicher, dass der Code in Debug-Modus sólo

- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application
{
#ifdef DEBUG
    isInternetAvailable = !isInternetAvailable;
#endif
}

4voto

brandenbyers Punkte 476

Mit Xcode 8.3 und iOS 10.3:

XCUIDevice.shared().siriService.activate(voiceRecognitionText: "Turn off Wi-Fi")
XCUIDevice.shared().press(XCUIDeviceButton.home)

Achten Sie darauf, dass Sie @available(iOS 10.3, *) am Anfang der Datei Ihrer Testsuite.

Alternativ können Sie auch den Flugzeugmodus einschalten, wenn Sie dies bevorzugen.

Une fois Siri schaltet Wi-Fi aus oder ein Flugzeug-Modus müssen Sie den Siri-Dialog deaktivieren, der besagt, dass Siri Internet benötigt. Dies geschieht durch Drücken der Home-Taste, wodurch der Dialog beendet wird und Sie zu Ihrer App zurückkehren.

2voto

mwhuss Punkte 2848

Sie könnten verwenden OHHTTPStubs und die Netzwerkanfragen an bestimmte URLs zum Scheitern verurteilen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X