Jak przeprowadzać bezprzewodowe debugowanie w Xcode 9 z iOS 11, Apple TV 4K itp.?

347

Bezprzewodowe debugowanie zostało niedawno dodane jako funkcja w Xcode 9, iOS 11 i tvOS 11. Apple TV 4K nie ma portu USB, więc wymaga bezprzewodowego debugowania. Jak przeprowadzić to bezprzewodowe debugowanie w Xcode?

iPC
źródło
3
Czy ktoś naprawdę odniósł sukces w debugowaniu bezprzewodowym? Postępowałem zgodnie z tymi samymi krokami, ale nadal pokazuje, że iPhone jest odłączony, gdy próbuję przeprowadzić bezprzewodowy debugowanie. Podłączony debugowanie działa poprawnie.
SeriousSam
2
@SeriousSam To działa. Musisz być w tej samej sieci.
badhanganesh
Sprawdziłem debugowanie bezprzewodowe, działa dobrze
iPC
1
Działa tutaj nawet przy użyciu innego iPhone'a na uwięzi jako obsługi Wi-Fi.
Jonny
1
Połączenie zostanie rozłączone po powiedzmy 10-20 sekundach! Wszelkie pomysły Dlaczego tak? Dzięki!
UserID0908,

Odpowiedzi:

599

Skonfiguruj urządzenie do debugowania sieciowego

z help.apple.com

UWAGA: System Mac i iPhone / iPad powinny dzielić tę samą sieć, aby korzystać z bezprzewodowego debugowania.

Debuguj aplikację działającą na urządzeniu z systemem iOS lub tvOS przez WiFi lub inne połączenie sieciowe.

Uwaga: debugowanie sieciowe wymaga Xcode 9.0 lub nowszej wersji działającej w systemie macOS 10.12.4 lub nowszym , a na urządzeniu wymaga systemu iOS 11.0 lub nowszego albo tvOS 11.0 lub nowszego .

Kroki, aby skonfigurować iPhone'a, iPada lub iPoda touch

  1. Wybierz Okno> Urządzenia i symulatory, a następnie w wyświetlonym oknie kliknij Urządzenia.

  2. Podłącz urządzenie do komputera Mac za pomocą kabla Lightning.

  3. Sprawdź, czy hasło włącza się w ustawieniach urządzenia. Włącz, jeśli jeszcze nie został włączony.
  4. W lewej kolumnie wybierz urządzenie, aw obszarze szczegółów wybierz Połącz przez sieć.

    wprowadź opis zdjęcia tutaj

    Xcode łączy się z urządzeniem. Jeśli Xcode może połączyć się z urządzeniem za pomocą sieci, ikona sieci pojawi się obok urządzenia w lewej kolumnie.

    wprowadź opis zdjęcia tutaj

  5. Odłącz urządzenie.

Uwaga: urządzenie wymaga podania hasła, aby umożliwić zdalne debugowanie.

Teraz jesteś gotowy do debugowania przez sieć.


Kroki, aby skonfigurować Apple TV:

  1. Upewnij się, że Mac i Apple TV są w tej samej sieci.

  2. Wybierz Okno> Urządzenia i symulatory, a następnie w wyświetlonym oknie kliknij Urządzenia.

  3. Na Apple TV otwórz aplikację Ustawienia i wybierz Piloty i urządzenia> Aplikacja i urządzenia zdalne.

  4. Apple TV wyszukuje możliwe urządzenia, w tym Mac. (Jeśli masz jakąkolwiek zaporę ogniową lub zabezpieczenia internetowe, wyłącz / wyłącz, aby umożliwić wyszukiwanie.)

  5. Na komputerze Mac wybierz Apple TV w okienku Urządzenia. Zostanie wyświetlone okienko dla Apple TV i pokazuje bieżący status żądania połączenia.

  6. Wprowadź kod weryfikacyjny wyświetlony na urządzeniu AppleTV w okienku okna urządzenia i kliknij Połącz.

Xcode konfiguruje Apple TV do bezprzewodowego debugowania i paruje z urządzeniem.

Edytować: -------

Czasami parowanie nie działa w przypadku bezprzewodowego debugowania, więc po prostu zrestartuj urządzenie i połączenie internetowe. Również jeśli zapora jest włączona, musisz wyłączyć zaporę w celu sparowania urządzenia.

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

Surjeet
źródło
9
Dla mnie początkowo to nie działało. Ale kiedy ponownie uruchomiłem urządzenie, zaczęło działać. Dzięki Apple za debugowanie wifi :)
Vinay Kumar
1
Uruchom ponownie i krótko poczekaj, aż „iPhone był zajęty” i działa.
Magnas,
4
@Lacek Według mojej wiedzy nie jest możliwe bezprzewodowe debugowanie przez VPN. Sprawdzę każde obejście, aby to zrobić, jeśli coś się zaktualizuje tutaj.
iPC
4
Bardzo ważna uwaga przy podłączaniu do Apple TV przez sieć: nie działa, gdy Mac jest również podłączony do Apple TV przez USB.
Ely,
2
@Luz Mogę potwierdzić, że tę funkcję można połączyć z OpenVPN w celu debugowania ze zdalnego serwera przy użyciu dość standardowej konfiguracji OpenVPN na Mojave. Mam jeszcze kilka szczegółów tutaj , ale jeśli ktoś potrzebuje szczegółowe instrukcje, prosimy o kontakt.
fakedad
53

Próbowałem użyć okna Połącz urządzenia Xcode za pomocą opcji sieciowych. ale nie widzę ikony „Połączono przez sieć” obok nazwy urządzenia. zaraz po odłączeniu USB zniknęła opcja „Połącz przez sieć”. nazwa urządzenia pojawi się również na liście odłączonych urządzeń.

Ale korzystając z opcji „Połącz przez adres IP ...” mogę się połączyć.

  1. Kliknij prawym przyciskiem myszy nazwę urządzenia (pod listą Rozłączone) i wybierz opcję „Połącz przez adres IP ....”.

wprowadź opis zdjęcia tutaj

  1. Wpisz adres IP urządzenia i wybierz Połącz. (można znaleźć poprzez Ustawienia urządzenia mobilnego> Wi-Fi> Wybierz nazwę Wi-Fi) wprowadź opis zdjęcia tutaj
damithH
źródło
9
Po wprowadzeniu adresu IP i naciśnięciu przycisku „Połącz” trwa ładowanie na zawsze :(
Shyam,
@Shyam Zarówno telefon, jak i komputer Mac używają tego samego Wi-Fi? Sprawdź również, czy korzystasz z kompatybilnego Xcode.
damithH
Jestem pewien, że oba używały tej samej sieci WiFi, a wersja Xcode to 9.1, MacOS 10.13.1, iPhone 11.1. Problem był z siecią Mam nadzieję, że zadziałało, kiedy korzystałem z innej sieci
Shyam,
To samo u mnie. Ale czasami działa, a czasem nie ... Potrzebuję zamknąć i otworzyć xcode kilka razy, aby działać. Oba korzystały z tej samej sieci WiFi, a wersja Xcode to 9.1, MacOS 10.13.1, iPhone 11.1.
Sprzedaż Wagnera
1
@Shyam to zajmuje trochę .. ale to działa, to jest jedyne rozwiązanie, które działało dla mnie. Dzięki cholera!
GreaterKing
45

Jeśli wykonałeś wszystkie kroki podane przez Surjeet i nadal nie otrzymujesz ikony połączenia sieciowego, wykonaj poniższe czynności:

  1. Usuń sparowanie urządzenia, klikając prawym przyciskiem myszy urządzenie w sekcji Podłączone .

    wprowadź opis zdjęcia tutaj

  2. Podłącz ponownie urządzenie.

  3. Kliknij przycisk „+” na końcu lewej strony wyskakującego okienka.

wprowadź opis zdjęcia tutaj

  1. Wybierz urządzenie, a następnie kliknij na następny przycisk

wprowadź opis zdjęcia tutaj

  1. Kliknij Zaufanie i hasło (jeśli są dostępne) na urządzeniu.

wprowadź opis zdjęcia tutaj

  1. Kliknij przycisk Gotowe .

wprowadź opis zdjęcia tutaj

  1. Teraz kliknij Połącz przez sieć .

wprowadź opis zdjęcia tutaj

Teraz możesz zobaczyć ikonę połączenia sieciowego po nazwie urządzenia. Cieszyć się!

wprowadź opis zdjęcia tutaj

ios_dev
źródło
Czy ma jakieś warunki, takie jak ograniczenie zasięgu? ponieważ kiedy go podłączyłem, zaczął uruchamiać moją aplikację i został rozłączony?
UserID0908,
Nie widzę ikony połączenia sieciowego po nazwie urządzenia. Czy ten problem dotyczy połączenia Wi-Fi?
pallavi
TAK, zadziałało, chyba dlatego, że zostało wcześniej sparowane bez PASSCODE, ale kiedy
włączymy
może tak, jeśli twoje urządzenie nie jest połączone przez Wi-Fi, to nie pojawi się @pallavi
ios_dev 16.04.18
20

Warunek wstępny

  • Twój komputer Mac powinien mieć co najmniej system Mac OSX 10.12.4 lub nowszy
  • Twoje urządzenie iOS powinno mieć co najmniej iOS 11.0 lub nowszy
  • Oba urządzenia powinny być w tej samej sieci.

Kroki do aktywacji

  • Podłącz urządzenie iOS z komputerem Mac za pomocą kabla.

  • Otwórz Xcode, a następnie z górnego menu Okno -> Urządzenia i symulatory

  • Wybierz segment Urządzenia i wybierz żądane urządzenie z lewej listy urządzeń.

  • Po prawej stronie widać otwarte Połącz przez sieć , włącz tę opcję, jak pokazano na załączonym obrazku. Połącz przez sieć

  • Po kilku sekundach zobaczysz znak sieci przed urządzeniem. wprowadź opis zdjęcia tutaj

  • Odłącz urządzenie i korzystaj z debugowania w normalny sposób.

Dzięki

Aleem
źródło
1
Czy przeczytałeś odpowiedź @ Surjeet? Ta odpowiedź nie dodaje żadnej niezwykłej wartości i sprawia, że ​​post jest niepotrzebnie duży.
elGeekalpha
1
@elGeekalpha zacząłem śledzić odpowiedź surjeet, ale nie wspomniał o tej samej sieci przez to miałem problem z połączeniem przez sieć. Tak, moja odpowiedź jest duża, ale nie zbędna, ponieważ pomyliłem się, że inni użytkownicy tego nie zrobią, a także ta odpowiedź pomoże początkującym. Mam nadzieję, że zrozumiesz, a inni również pomogą: kodowanie
Aleem
Przepraszam, nie chciałem być niegrzeczny, ale pierwsze wrażenie wydawało mi się, że napisałeś to bez czytania. Dzięki za wyjaśnienie i ciesz się WWDC17!
elGeekalpha
3
„Po kilku sekundach widzisz znak sieci przed swoim urządzeniem.” <Ten szczegół pomógł mi
Jonny
1
Cieszyłem się ze zdjęć. „Tysiąc słów” i tak dalej.
Mel
16

Jeśli po wykonaniu kroków opisanych w Surjeet nadal nie możesz się połączyć, spróbuj wyłączyć i ponownie włączyć Wi-Fi komputera. To zadziałało dla mnie.

Pamiętaj także o zaufaniu do certyfikatu programisty na urządzeniu z systemem iOS (Ustawienia - Ogólne - Profile i zarządzanie urządzeniami - Aplikacja dla programistów).

Joppe Geluykens
źródło
8
Pomogło
przełączanie
14

Debugowanie sieciowe wymaga Xcode 9.0 lub nowszej wersji działającej w systemie macOS 10.12.4 lub nowszym, a na urządzeniu wymaga systemu iOS 11.0 lub nowszego albo tvOS 11.0 lub nowszego.

iPhone

iOS 11 nie będzie dostępny dla urządzeń 32-bitowych , tj. iPhone 5 i iPhone 5c i starszych. Pierwszy 64-bitowy iPhone to 5s.

iPad

iPad mini 2 będzie najstarszym iPadem z obsługą iOS 11.

iPod

iPod musi być iPodem 6, aby móc uruchomić iOS.

Jeśli używasz swoich urządzeń nie tylko do programowania, ale także do produkcji, pamiętaj, że wersja beta systemu operacyjnego nie jest dla osób o słabym sercu ;-)

lilalinux
źródło
2
iOS 11 jest kompatybilny z tymi urządzeniami. iPhone iPhone 7 iPhone 7 Plus iPhone 6s iPhone 6s Plus iPhone 6 iPhone 6 Plus iPhone SE iPhone 5s iPad 12,9 cala iPad Pro 2. generacji 12,9 cala iPad Pro 1. generacji 10,5 cala iPad Pro 9,7 cala iPad Pro iPad Air 2 iPad Air iPad 5. generacji iPad mini 4 iPad mini 3 iPad mini 2 iPod iPod touch 6. generacji
Giang
iPad Air jest obsługiwany - pierwszy 64-bitowy iPad.
Alex Black
11

W nowym Xcode9-beta możemy używać bezprzewodowego debugowania, jak powiedział Apple :

Wytnij przewód
Wybierz dowolne urządzenie z systemem iOS lub tvOS w sieci lokalnej, aby zainstalować, uruchomić i debugować swoje aplikacje - bez kabla USB podłączonego do komputera Mac. Po prostu kliknij pole wyboru „Połącz przez sieć” przy pierwszym użyciu nowego urządzenia z systemem iOS, a urządzenie będzie dostępne od tej chwili w sieci. Programowanie bezprzewodowe działa również w innych aplikacjach, w tym w Instrumentach, Inspektorze dostępności, odtwarzaczu Quicktime i konsoli.

Spróbuj tego!

W przypadku problemów z rozłączeniem spróbuj:

Obejście : Włącz tryb samolotowy na urządzeniu na 10 sekund, a następnie wyłącz tryb samolotowy, aby ponownie nawiązać połączenie

D4ttatraya
źródło
1
Odpowiedź @ Surjeet jest znacznie bardziej wyczerpująca.
Jeremy1026
@ Lacek Nie jestem pewien, ale wątpię, aby oba urządzenia były podłączone do tej samej sieci Wi-Fi.
D4ttatraya
Wątpię również, ale kiedy już się zdziwiłem, jakie jest rozwiązanie komunikatu „Nie pobiorę więcej niż 100 MB przez sieć komórkową” z iOS - łączysz telefon komórkowy z telefonem komórkowym (przez USB) i udostępniasz go jako WIFI, a potem iOS myśli, że używa WIFI ... Miałem nadzieję na podobny hack, tym razem bardziej zaangażowany.
Lacek
2
„Włącz tryb samolotowy na swoim urządzeniu na 10 sekund” Pomogło!
sabiland
9

Właśnie rozmawiałem z niektórymi inżynierami Xcode w WWDC, a automatyczne wykrywanie iDevices wciąż jest trochę wadliwe. Czasami również telefon nie nadaje poprawnie. Włączanie i wyłączanie urządzenia może pomóc.

Istnieje kilka obejść / awarii:

Możesz sprawdzić, czy Twój telefon nadaje za pomocą Bonjour Browser (www.tildesoft.com). Sprawdź, czy Twój adres Wi-Fi jest wymieniony w ramach usługi o nazwie „_apple-mobdev2._tcp. - 215 '(adres Wi-Fi można znaleźć tutaj: ustawienia> ogólne> informacje> adres Wi-Fi.

Jako rezerwowy możesz połączyć się z urządzeniem, ręcznie wprowadzając adres IP (kliknij prawym przyciskiem myszy swoje urządzenia w oknie Urządzenia). Jednak ten adres IP zostanie zachowany, więc jeśli zmienisz sieć, musisz go zresetować. Ta opcja nie jest jeszcze dostępna w Xcode, ale możesz to zrobić za pomocą terminala za pomocą następującego polecenia:

defaults read com.apple.dt.Xcode | grep IDEIDS

Spowoduje to wydrukowanie identyfikatora, którego należy użyć w następnym poleceniu:

defaults delete com.apple.dt.Xcode <identifier>

Teraz adres IP jest wyczyszczony i możesz wprowadzić nowy.

Ostatnią opcją jest utworzenie sieci komputer-komputer. Działa to dobrze, ale logicznie nie będziesz miał wtedy dostępu do Internetu.

Paul van Roosendaal
źródło
Wydaje się, że w wersji beta 4 nie ma już opcji ręcznego ustawiania adresu IP. :( Na marginesie, nie mogłem zrobić swojego iPhone'a 6s z wersją beta 4, aby połączyć się z Xcode 9 beta 4.
iur
1
Aby zobaczyć ustawioną opcję adresu IP, musiałem odłączyć urządzenie od portu USB
dominujący
5

Możesz otworzyć Pomoc Xcode -> Uruchom i debuguj -> Debugowanie sieciowe, aby uzyskać więcej informacji. Mam nadzieję, że to pomoże.

ejovrh
źródło
5

wykonałem wszystkie sugerowane kroki, w szczególności te dostarczone przez ios_dev, ale mój iPhone nie został rozpoznany przez Xcode i nie mogłem debugować przez Wi-Fi. Kliknij prawym przyciskiem myszy lewy panel nad moim iDevice w oknie „Urządzenia i symulatory”, a następnie „Połącz przez adres IP ...”, wstawiłem IP iPhone'a i teraz działa poprawnie

sroka
źródło
2
Ważne jest, aby pamiętać: urządzenie musi zostać odłączone od systemu, aby ta opcja się pojawiła.
MichaelC
5

W celu bezprzewodowego debugowania system Mac i urządzenie iPhone / urządzenie powinny znajdować się w tej samej sieci. Aby zrobić w tej samej sieci, możesz zrobić tak: - Możesz uruchomić hotspot na Macu i podłączyć go na iPhonie / urządzeniu lub odwrotnie.

Na Macu

wprowadź opis zdjęcia tutaj

LUB

Na iPhonie -

wprowadź opis zdjęcia tutaj

Xcode ► Okno ► Urządzenia i symulatory ► wybierz kartę Urządzenia ► kliknij połącz przez sieć wprowadź opis zdjęcia tutaj

https://help.apple.com/xcode/mac/9.0/index.html?localePath=en.lproj#/devbc48d1bad

Jacek
źródło
Gdy mój iPhone XS Max jest ustawiony na Hotspot osobisty i podłączam do niego mojego Macbooka Pro, nie mogę używać iPhone'a jako urządzenia do debugowania. Jedynym przypadkiem bezprzewodowego debugowania, który działa dla mnie, jest połączenie ich obu z tym samym routerem Wi-Fi. Jest to bardzo denerwujące podczas kodowania w podróży. Zawsze muszę nosić ze sobą kabel.
Vilmir
4

Mój problem dotyczył rozgłaszania SSID w sieci.

Wypróbowałem wszystkie powyższe rozwiązania, ale nadal nie mogłem podłączyć mojego urządzenia, w ogóle nie było ikony globu. Potem odkryłem, że z jakiegoś powodu moja sieć wyłączyła nadawanie SSID (chociaż nadal mogłam połączyć się z siecią, wprowadzając SSID ręcznie). Po włączeniu nadawania SSID mogę podłączyć urządzenie za pomocą opcji „Połącz przez adres IP ...”.

owocowy
źródło
Podaj pełniejszy opis napotkanego problemu. Przynajmniej jak rozwiązuje pytanie o „jak przeprowadzić bezprzewodowe debugowanie?” Jeśli jest to osobny problem, utwórz nowe pytanie i odpowiedz na nie
Dhruvan Ganesh
3

Próbowałem wszystkich odpowiedzi, ale nic nie działało dla mnie. Połączyłem się z inną siecią Wi-Fi, a następnie mogłem bezprzewodowo debugować.

Nie mam pojęcia, dlaczego nie działa ze starą siecią

Shyam
źródło
To nie działało dla mnie w mojej sieci. Podłączenie do bluetooth przypieczętowało umowę ... nie jestem pewien, czy pomógł w jakikolwiek sposób lub jak ...
Swift Rabbit
2

Xcode 9 - Szczegółowe informacje znajdziesz w Pomocy -> Sparuj urządzenie bezprzewodowe z Xcode (iOS, tvOS)

Shyam
źródło
2

Jedyne, co zadziałało, to połączenie mojego telefonu z komputerem MacBook za pomocą Bluetooth. (Zrobiłem to po pierwszym sparowaniu telefonu z Xcode podczas połączenia kablowego zgodnie z powyższą odpowiedzią ios_dev).

Na telefonie poszłam do Ustawienia> Bluetooth i stuknęłam nazwę mojego MacBooka w „MOJE URZĄDZENIA”, aby się połączyć.

Następnie poszedłem do Xcode> Urządzenia i symulatory, wybrałem swój telefon i zaznaczyłem „Połącz przez sieć”. Po kilku sekundach obok mojego telefonu pojawiła się ikona kuli ziemskiej, dzięki czemu mogłem uruchomić i debugować aplikację na telefonie.

Działało to nawet wtedy, gdy mój MacBook był podłączony do sieci Wi-Fi, a mój telefon korzystał z LTE. Jedynym minusem jest to, że instalacja aplikacji na telefonie przebiegała dość wolno.

Mike Taverne
źródło
W rzeczy samej! Po wypróbowaniu wszystkiego, co można znaleźć wokół, połączenie z moim komputerem Mac w Bluetooth działało natychmiast.
Johnny Oin,
1

Jedynym sposobem, w jaki mogę go uruchomić, jest to, że mój Mac i iPhone są w różnych sieciach. Mam główny modem DSL nazywający go siecią1, a druga sieć2 konfiguruje nam punkt dostępu. Mają identyfikatory SSID sieć1 i sieć2. Gdyby telefon był w sieci1, a komputer Mac w sieci2, działałby na odwrót. Ale jeśli oba byłyby w sieci1 lub oba były w sieci2, NIE działałoby.

Joel
źródło
1

Włącz udostępnianie Internetu za pomocą portów USB:

wprowadź opis zdjęcia tutaj

sazz
źródło
1

Spróbuj tego:

1) Podłącz urządzenie iOS do komputera Mac za pomocą kabla błyskawicy. Może być konieczne wybranie opcji Ufaj temu komputerowi w urządzeniu.

2) Otwórz Xcode i przejdź do Okno > Urządzenia i symulatory .

3) Wybierz urządzenie, a następnie zaznacz pole wyboru Połącz przez sieć, aby sparować urządzenie.

4) Uruchom projekt po odłączeniu kabla oświetleniowego.

Nirbhay Singh
źródło
1

LOL, robiłem tutaj wszystkie kroki - skończyłem na parowaniu / naprawianiu kroków od odpowiedzi „podanej przez Surjeet”. Nie działało, a potem zauważyłem, że po kliknięciu przycisku „Połącz przez sieć” wyskakuje to samo żółte okno, które pojawia się podczas naprawy, mówiąc „zajęty” - byłem sfrustrowany i zacząłem walić „ połącz przez sieć ”, klikając go szybko, prawdopodobnie jak 15-20 kliknięć - zaczął się szaleć, ale ostatecznie wylądował na możliwości podłączenia się do sieci. Zanim to zadziałało, wyłączyłem również Wi-Fi i włączyłem je ponownie, jak sugeruje jedna z tych odpowiedzi, ale kliknięcie przycisku „Połącz przez sieć” naprawdę szybko pomogło ... LOL

Ponadto, zanim wcisnąłem przycisk, podłączyłem foldery obsługi urządzeń, chociaż nie jestem pewien, czy coś to zrobiło:

otwórz terminal

cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

w -s 13,3 13,4

ls -l 13,4

zrestartuj Xcode i spróbuj ponownie uruchomić na urządzeniu

Powiedział, że zrobię to tutaj - https://forums.developer.apple.com/thread/126940 - w komentarzu edytowałem wersję folderu, aby dostosować ją do najnowszej wersji iOS 13.4.

EDIT Wydaje mi się, że zorientowałem się, na czym polega mój problem, musiałem zatrzymać Little Snitchfiltr sieciowy. Ponadto po tym, jak udało mi się połączyć za pomocą uderzenia przycisku, opcja „Połącz przez adres IP” pojawiła się w menu po kliknięciu prawym przyciskiem myszy urządzenia w menedżerze urządzeń w xcode, nie było go tam, zanim nie mogłem się połączyć ultra hacky styl za pierwszym razem. Jeśli się połączę, a następnie włączę filtr sieciowy, telefon zostanie odłączony.

ewizard
źródło