Pytanie w sprawie cocoa-touch, iphone, objective-c – Testowanie połączeń IPhone: Jak wymusić utratę połączenia?

14

Apple chce, żebym przekazał użytkownikowi przyjazne przeprosiny, jeśli nie mogę znaleźć połączenia internetowego. Korzystanie z Demo Reachability było łatwe. Chcę pójść o krok dalej i monitorować utratę połączenia. Wersja demonstracyjna ma tę funkcjonalność, ale nie wiem, jak wyłączyć połączenie, aby sprawdzić, czy działa.

W jaki sposób chciałbym symulować utratę (lub utratę) połączenia?

Twoja odpowiedź

7   odpowiedzi
12

Na Yosemite:

Network Link Conditioner można znaleźć w pakiecie „Hardware IO Tools for Xcode”. Można to pobrać zStrona Apple Developer Downloads. Po zakończeniu pobierania otwórz DMG i kliknij dwukrotnie „Network Link Condition.prefPane”, aby zainstalować (źródło).

Za pomocą tego panelu preferencji możesz utworzyć profil z prędkością 0 kb / s.

W starszych wersjach OSX:

Mountain Lion / Mavericks:Xcode > Open Developer Tool > More Developer Tools
Lew:/Developer/Applications/Utilities/Network Link Conditioner

Uwaga: Począwszy od Xcode 4.3 (lub 4.2?), Należy je zainstalować oddzielnie od strony internetowej Apple: w Xcode, „Xcode / Open Developer Tools / More Developer Tools ...”. Spowoduje to przejście do sekcji pobierania. Kondycjoner łączy można znaleźć w „Sprzętowych narzędziach IO dla Xcode”. Stefan
Dobrze, ale nawet jeśli utworzysz profil z wartościami 0, nie będzie on symulował sytuacji „brak połączenia” ... gemini
0

tj. Symulując stratne połączenie z siecią Wi-Fi na rzeczywistym urządzeniu, wymyśliłem, jak to zrobić :) Połączyłem mojego MacBooka Pro z siecią Ethernet i udostępniłem połączenie Wi-Fi z urządzeniem. Korzystając z Apple Network Link Conditioner Prefpane, pozwól mi grać z jakością połączenia. Bardzo przydatne do symulacji 3G, Edge i innych szybkości transmisji.

Następny krok: znajdź i kup adapter USB wifi pracujący w systemie MAC OS X, aby pozwolić nam (zespołowi programistów) przetestować bez podłączania każdego komputera do sieci Ethernet.

Mam nadzieję, że pomoże to niektórym z was.

4

Mały znicz. Jest to bardzo przydatna aplikacja do pisania zasad dotyczących tego, co może komunikować się ze światem zewnętrznym i na jak długo.

Powiadomi Cię również, jeśli aplikacja chce uzyskać dostęp do Internetu w locie i możesz tymczasowo ograniczyć dostęp w tym czasie, tej sesji lub na zawsze.

Jeśli chodzi o testowanie na urządzeniu, loguję się do routera bezprzewodowego i tymczasowo wyłączam sieć lub włączam restrykcje przez MAC ID na czas trwania testu.

18

a, po prostu odłącz komputer od Internetu. Jeśli komputer nie ma dostępu do sieci, symulator iPhone'a również nie działa.

Aby przetestować urządzenie, możesz wykonać następujące czynności:

Najpierw skonfiguruj router WiFi, którego możesz użyć do testowania.

Możesz włączyć tryb samolotowy w telefonie, a następnie ponownie włączyć WiFi. Zapobiegnie to zapewnieniu dostępu do danych przez połączenie 3G.

Uruchom aplikację. Teraz możesz po prostu odłączyć router WiFi, aby zasymulować utratę łączności.

Możesz umieścić telefon w kuchence mikrofalowej, aby zasymulować utratę prawdziwego połączenia ... Pamiętaj, aby nie włączać kuchenki mikrofalowej! Sam
Zwykle noszę blaszany kapelusz, więc klatka jest naturalnym postępem. heh Dzięki Joey, chciałem przetestować urządzenie. Twoje zdrowie. Joel Hooks
lub spróbuj klatki faraday?en.wikipedia.org/wiki/Faraday_cage russau
13

Panel preferencji SpeedLimit symulować opóźnienie sieci w symulatorze. A oto awersja wiersza poleceń zbudowany na szczycieipfw dowództwo.

Zaletą tylko szarpnięcia sznura lub zabicia WiFi jest to, że możesz określić prędkość uderzania w określone hosty, aby można go było wykorzystać do testowania bez zabijania zwykłych usług sieciowych.

Dzięki, rzecz SpeedLimit jest bardzo przydatna. Tom Redman
2

SpeedLimit.prefPane nie może stracić połączenia, ale możesz spowolnić to w zależności od hosta i portu, do którego próbujesz dotrzeć.

4

Charles Web Proxy Możesz sprawdzić wszystkie żądania HTTP / S wysyłane przez aplikację i otrzymane odpowiedzi, dławić połączenie, aby symulować dowolną prędkość sieci. Utwórz niestandardowy profil przepustnicy o nazwie „Disconnected” z Bandwidth = 0, aby symulować rozłączenie sieci.

Przepustowość 0 nie rozłącza się, jeśli chodzi o osiągalność. Jeśli użyjesz go jako proxy dla swojego urządzenia, urządzenie nadal będzie uważało, że ma dobre połączenie z siecią Wi-Fi, więc osiągalność nie zwróci błędu. Pasmo 0 jest nadal użytecznym narzędziem do testowania stoisk sieciowych. CornPuff

Powiązane pytania