Czy można wyłączyć sieć w symulatorze iOS?
Próbuję debugować niespójne zachowanie, które widzę w aplikacji, która pobiera podstawowe dane z Internetu. Nie widzę problemów w symulatorze, tylko na urządzeniu, więc chciałbym odtworzyć środowisko sieciowe i łącznościowe w symulatorze.
Czy jest jakiś sposób na wyłączenie sieci w symulatorze?
(podłączam się do komputera Mac zdalnie do kodu, nie ma innego wyboru, więc wyłączenie sieci OS nie wchodzi w grę).
17 answers
Obawiam się, że nie-symulator udostępnia dowolne połączenie sieciowe, z którego korzysta SYSTEM OPERACYJNY. Jakiś czas temu zgłosiłem Błąd radaru dotyczący symulowania warunków sieciowych; możesz rozważyć zrobienie tego samego.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-01-26 18:37:12
Użyj prostej klatki Faradaya, aby zablokować lub ograniczyć zewnętrzny poziom sygnału RF.
Można zrobić własne z folii aluminiowej. Otwory powinny być mniejsze niż długość fali twojego serwisu danych, jeśli chcesz to zablokować.
800 Mhz ma długość fali 37 cm (14") , 1900 Mhz ma długość fali 16 cm (6").
To działa lepiej z rzeczywistym urządzeniem niż z symulatorem, ponieważ Mac jest trudny do pracy, gdy wewnątrz klatki Faradaya ;-)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-27 19:56:28
Tak. W Xcode możesz przejść do pozycji menu Xcode
-> Open Developer Tools
-> More Developer Tools
i pobierz " dodatkowe narzędzia dla Xcode ", które będą miały kondycjoner łącza sieciowego.
Za pomocą tego narzędzia można symulować różne scenariusze sieciowe (takie jak 100% strata, 3G, DNS o dużym opóźnieniu i inne), a także tworzyć własne niestandardowe.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-20 08:40:31
Jedynym sposobem na wyłączenie sieci w symulatorze iOS, jaki znam, jest użycie narzędzi takich jak Little Snitch lub Hands Off. Dzięki nim możesz zablokować/zablokować wszelkie wychodzące i wychodzące połączenia sieciowe. Możesz go skonfigurować tak, aby blokował tylko połączenia z aplikacji symulatora. Działa jak firewall.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-01-26 18:41:34
Po prostu wyłącz WiFi w Mac OSX to działa gratka!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-05-12 09:21:34
Po prostu aktualizuję odpowiedź do aktualnej daty. Od Xcode 4 (?) w /Applications/Utilities
znajduje się panel preferencji o nazwie Network Link Conditioner
. Albo korzystasz z jednego z istniejących profili, albo tworzysz swój własny profil z łączem w górę/w dół 0 Kb / s i 100% zrzucasz.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-16 19:22:13
Ponieważ Xcode nie zapewnia takiej funkcji, na pewno pójdziesz do jakiejś aplikacji/ narzędzia innej firmy. Wyłączenie sieci MAC pomoże również wyłączyć sieć symulatora iOS.
Możesz wyłączyć MAC internet z "System Preferences...
" > "Network
" i wyłącz źródło sieci desire.
Aby wyłączyć MAC Ethernet Internet Źródło:
Aby wyłączyć źródło Internetu WiFi Mac (jeśli komputer MAC jest w sieci Wifi Internet):
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-24 14:11:12
Możesz Dławić połączenie internetowe za pomocą aplikacji innej firmy, takiej jak
Charles: http://www.charlesproxy.com/
Naciśnij command + shift + T na komputerze Mac, aby ustawić Dławienie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-12 23:44:56
Jeden chyba szalony pomysł lub patch :
Po prostu przełącz flagę zasięgu sieci
Jest to kod, którego używam do przełączania flagi runtime przez wyzwalanie 'Simulator Memory Warning' i jest całkowicie bezpieczny, tylko upewnij się, że kod powinien być w tylko w trybie debugowania
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application
{
#ifdef DEBUG
isInternetAvailable = !isInternetAvailable;
#endif
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-10 05:32:06
Możesz użyć Little Snitch , aby odciąć ruch sieciowy dla każdego pojedynczego procesu, w tym tych, które działają na symulatorze iOS. W ten sposób możesz zachować połączenie z Internetem i odłączyć działającą aplikację.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-09 15:16:18
Z Xcode 8.3 i iOS 10.3:
XCUIDevice.shared().siriService.activate(voiceRecognitionText: "Turn off wifi")
XCUIDevice.shared().press(XCUIDeviceButton.home)
Pamiętaj, aby umieścić @available(iOS 10.3, *)
na górze pliku zestawu testów.
Możesz alternatywnie "włączyć tryb samolotowy", jeśli wolisz.
Gdy Siri wyłączy wifi lub włączy tryb samolotowy, będziesz musiał zamknąć okno dialogowe Siri, które mówi, że Siri wymaga internetu. Można to osiągnąć, naciskając przycisk home, który odrzuca dialog i wraca do aplikacji.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-27 23:22:19
Możesz użyć OHHTTPStubs i stub żądań sieciowych do określonych adresów URL, aby nie powiodły się.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-05-14 19:55:17
Zamiast tego możesz wyłączyć sieć hosta!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-03 04:38:07
Jeśli masz co najmniej 2 Sieci wifi do podłączenia jest bardzo prostym sposobem jest użycie błędu w symulatorze iOS:
- Zamknij simulator (cmd-q), jeśli jest otwarty [5]} Podłącz komputer Mac do jednego Wi-Fi (może nie być podłączony do Internetu, nie ma znaczenia)
- Uruchom symulator (menu: xCode- > Otwórz narzędzie programistyczne - > symulator iOs) i poczekaj, aż zostanie załadowany
- Przełącz sieć wifi na inną
- zysk
Błąd polega na tym, że symulator próbuje użyć sieci (IP?), który nie jest już połączony.
Dopóki nie uruchomisz symulatora - nie będzie on miał Internetu (nawet jeśli pierwsza podłączona sieć wifi miała połączenie z Internetem), więc możesz uruchomić (cmd-r) i zatrzymać (cmd-.) projekt(y), aby używać symulatora bez połączenia, ale twój Mac będzie podłączony.
Następnie, jeśli będziesz musiał uruchomić simulator connected - po prostu zamknij i uruchom go.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-28 11:44:28
Możesz użyć kondycjonera łącza sieciowego na komputerze Mac. Można go pobrać ze strony internetowej dewelopera apple. Powinien być dostępny tam, gdzie dostajemy starsze wersje Xcode i iOS. Dzięki temu kondycjonerowi sieciowemu możesz zmienić siłę sieci z wifi na brak sieci.
Również po zainstalowaniu kondycjonera sieciowego zostanie on zainstalowany w Preferencjach systemowych.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-13 21:14:41
Istnieją Dwa sposób na Wyłączenie iOS Simulator internet:
- odłącz połączenie sieciowe Wyłącz Wi-Fi]}
To najprostszy sposób
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-29 14:10:13