Nie udało się dołączyć do identyfikatora procesu Xcode

113

Czy ktoś doświadczył tego problemu? Wczoraj nadal mogę uruchomić moją aplikację w symulatorze, ale teraz nie mogę uruchomić mojej aplikacji, ponieważ Xcode drukuje ten błąd w konsoli:

error: failed to attach to process ID <ID number>

Zrzut ekranu błędu

Próbowałem przeinstalować, zrobić ten post i stworzyć nowy projekt, ale bez powodzenia. Każdy może rozwiązać ten problem?

Używam Xcode 4.5 Preview 2 i próbuję uruchomić symulator iOS 6

Rendy
źródło
Myślę, że mam dokładnie ten sam problem ( stackoverflow.com/questions/11688720/… ) ... podany błąd to „nie udało się podłączyć do identyfikatora procesu 0”
PierrOz
1
Opisałem tutaj możliwe rozwiązanie stackoverflow.com/a/12504712/647644
Lindemann
Jak rozwiązałeś ten problem? proszę powiedz mi też. naprawdę potrzebuję rozwiązania.
ios
proszę zobaczyć zaakceptowaną odpowiedź
Rendy,
1
Radziłbym ludziom wypróbować odpowiedź „Resetowanie zawartości i ustawień w symulatorze” przed wypróbowaniem rzeczywistej zaakceptowanej odpowiedzi dotyczącej zmiany debugera.
dartacus

Odpowiedzi:

153

Zresetowanie zawartości i ustawień w symulatorze działało u mnie. Jest to dostępne w menu „Symulator iOS”.

Robert Zahm
źródło
1
Nie działało dla mnie. Nadal pokazuje czarny ekran z paskiem stanu (nawet wyczyścił kod). Po zmianie debugera na GDB, jak wspomniał Imran, moja aplikacja ładuje się dobrze.
user427969
1
Po zresetowaniu zawartości i ustawień wyjdź z symulatora i uruchom go ponownie. Działał jak urok.
justinkoh
45

przejdź do menu Produkt i znajdź tam menu Edytuj schemat.

Będąc w oknie Edit Scheme, wybierz opcję „Run” po lewej stronie ekranu, a następnie po prawej stronie zmień debugger z LLDB na GDB.

Imran
źródło
6
Zmieniłem LLDB na GDB, ale po tym zawsze wyświetla się jak „Podłączanie do MYApp” i pokazuje następujące logi. GNU gdb 6.3.50-20050815 (wersja Apple gdb-1822) (niedziela, 5 sierpnia 03:00:42 UTC 2012) Copyright 2004 Free Software Foundation, Inc. GDB jest wolnym oprogramowaniem objętym Powszechną Licencją Publiczną GNU, a ty zapraszamy do jego zmiany i / lub rozpowszechniania jego kopii pod pewnymi warunkami. Wpisz „show copying”, aby zobaczyć warunki. Nie ma absolutnie żadnej gwarancji na GDB. Aby uzyskać szczegółowe informacje, wpisz „pokaż gwarancję”. Ten GDB został skonfigurowany jako „x86_64-apple-darwin”.
iOS_Developer,
8
Miałem dwa symulatory (5.1 i 6.0), zamknąłem xcode i zresetowałem zawartość obu symulatorów ........ to dziwne, ale zadziałało ... :-)
iOS_Developer
32
-1. To duży krok wstecz. Zresetowanie zawartości symulatora rozwiązuje problem bez konieczności zmiany debugera.
ozz
2
@cdo Resetowanie treści nie zadziałało, zmiana symulatora tak
Teofilo Israel Vizcaino Rodrig
4
MOŻE POMÓC: Ja też przeszedłem na GDB, raz uruchomiłem aplikację, potem wróciłem do LLDB i znowu zadziałało! Nie musisz więc rezygnować z zalet LLDB! Spróbuj.
Charles
22

Doświadczyłem tego samego problemu i po jakimś czasie odkryłem, że jest to spowodowane faktem, że mój projekt XCode zawiera odniesienie do folderu o nazwie Resources .

Wygląda na to, że XCode nie lubi tej nazwy.

Samo usunięcie odniesienia do folderu lub zmiana nazwy folderu rozwiązało problem.

Mirko Luchi
źródło
1
Zajęło mi to prawie dzień, zanim się zorientowałem. #fail
Teksas,
1
To zadziałało dla mnie. Po zmianie nazwy musiałem zrestartować XCode i Simulator.
Suran,
21

DWIE METODY

Metoda 1 : W folderze Obsługa aplikacji -> iPhone Simulator -> W każdej wersji symulatora iOS -> Aplikacje -> Usuń wszystkie obecne tutaj pliki.

Teraz przejdź do Produkty -> Wyczyść

Teraz uruchom go na dowolnym symulatorze i będzie działać.

Metoda 2 :

Stuknij w Resetuj

Ambili B Menon
źródło
2
To jedyna metoda, która u mnie zadziałała. Spowodowałem problem, nazywając jeden z moich zasobów folderu i zabił mój projekt, prawie miał przywiązane serce. Apple powinno naprawdę działać lepiej.
Zack Morris
9

Krok 1: ping

$ ping localhost

To powinno zwrócić coś w stylu

PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.028 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.048 ms
...

Jeśli to zadziała, ta odpowiedź nie rozwiąże problemu, spróbuj czegoś innego.

Jeśli ping zwróci coś innego, na przykład: ping: cannot resolve localhost: Unknown hostcoś jest zepsute w twoim /etc/hostspliku, przejdź do kroku 2

Krok 2: Sprawdź / etc / hosts

Sprawdź, czy początek /etc/hostspliku wygląda tak

127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost 
fe80::1%lo0     localhost

Jeśli nie ma tych wpisów w pliku, wprowadź je na początku pliku, opróżnij pamięć podręczną dns ​​za pomocą $ dscacheutil -flushcachei wróć do kroku 1 , w przeciwnym razie przejdź do kroku 3 .

Krok 3: Prawidłowy format pliku: powinien być unix lub LF *

$ file /etc/hosts

Powinno to zwrócić: /etc/hosts: ASCII English text

Jeśli zwraca coś takiego, /etc/hosts: ASCII English text, with CR line terminators to plik jest w złym formacie i prawdopodobnie jest ignorowany.

Zmień zakończenia linii pliku na unix lub LF za pomocą ulubionego edytora tekstu.

  • W Sublime Text 2 można to zrobić za pomocą menu widoku: Widok> Zakończenia linii> Unix

Opróżnij pamięć podręczną dns ​​( $ dscacheutil -flushcache) i wróć do kroku 1

Intencje
źródło
Po wypróbowaniu wszystkiego innego, to WRESZCIE rozwiązało mój problem! Dzięki!
Jonah
Niedawno zmodyfikowałem etc / hosts, słabo - dzięki za odpowiedź
bdalziel
5

Podobnie jak w przypadku odpowiedzi fundatora, wydaje się, że winowajcą był lokalny plik hosts.

Musiałem zmienić moje /etc/hostsuprawnienia z powrotem na domyślne po nieumyślnej zmianie:

sudo chmod 644 /etc/hosts

Potem pracował dla mnie symulator / LLDB.

amattn
źródło
W moim przypadku dodałem edytowany plik hosts, aby mieć ten adres ':: 1 newlocaldomain.local'
subharb
5

To stary temat, ale wydaje mi się, że w najnowszej wersji systemu macOS sytuacja nieco się zmieniła.

Natknąłem się na ten problem, próbując uruchomić zestaw testów interfejsu użytkownika dla aplikacji na iOS w symulatorze na macOS Mojave Beta i Xcode 9.4.1.

Okazuje się, że w systemie macOS Mojave codesignnarzędzie (które jest częścią samego systemu operacyjnego, a nie częścią narzędzi wiersza poleceń ani Xcode) podpisuje procesy w wzmocnionym środowisku wykonawczym, które obejmuje wymuszanie podpisywania kodu w czasie wykonywania, walidację biblioteki, twarde, zabijanie, i ograniczenia dotyczące debugowania. To, wraz z ochroną integralności systemu w macOS Mojave, uniemożliwia debugerowi lldb połączenie się z działającym celem.

Aby rozwiązać ten problem, masz do wyboru opcje:

  1. Prawdopodobnie oczywistym jest użycie Xcode 10. Wygląda na to, że z wdziękiem obsługuje połączenie.

  2. Uruchom ponownie system operacyjny w trybie odzyskiwania i wyłącz ochronę integralności systemu z poziomu terminala za pomocą csrutil disable. Debugger następnie łączy się szczęśliwie.

Spędziłem sporo czasu, walcząc o to głową i udało mi się to rozwiązać po przeczytaniu następującego artykułu: http://www.lapcatsoftware.com/articles/debugging-mojave.html

Tylko moje dwa centy. Mam nadzieję, że to komuś pomoże.

eploko
źródło
Ale to ma sens tylko na symulatorze (tj. Na MacOS), prawda? Pojawia się błąd podczas pracy na urządzeniu ...
Dylan Nicholson,
... co okazało się być spowodowane tym, że instalowałem .app dopiero po ponownym podpisaniu. Po zainstalowaniu pełnej wersji .ipa wszystko było w porządku.
Dylan Nicholson
4

W jakiś sposób usunąłem lub skasowałem rekordy z mojego pliku / etc / hosts i otrzymałem ten sam błąd. Powinieneś sprawdzić, czy masz w swoim pliku / etc / hosts wiersz „127.0.0.1 localhost”. To mi pomogło!

pedrouan
źródło
2
Dzięki. Miałem ten błąd i próbowałem wszystkiego, nic nie działało. Sprawdziłem plik hostów i był pusty, z wyjątkiem jednej linii z antywirusa Avast. Avast faktycznie nadpisał mój wcześniej dostosowany plik hosts (WTH?)! Dodałem wiersz „127.0.0.1 localhost” do pliku hosts i zapisałem go. Następnie zresetowałem symulator iPhone'a, zrobiłem `` Wyczyść '' w Xcode i zaczęło się od razu po następnym uruchomieniu aplikacji. Koniec z Avastem dla mnie.
Ryan,
Tak, ja też nie lubię
avasta
Zajęło mi trochę czasu, zanim dowiedziałem się, jak dostać się do folderu hosts. W Finderze wybierz menu "Idź" i wybierz "Idź do katalogu ..." Następnie wpisz: /private/etc/hosts.txt
Jonah
Właściwie może być konieczne wpisanie $ sudo / etc / hosts
pedrouan
Wiem, że to odpowiedź sprzed roku. Chciałbym jednak wiedzieć, czy istnieje różnica między „127.0.0.1 localhost” a „127.0.0.1 serverchat.local”. Czy powinienem usunąć serverchat.local i zamienić go na localhost? Rady proszę ...
Melvin Lai
4

Wiem, że to stare pytanie, ale pojawiło się ono jako pierwsze, gdy wyszukałem w Google hasło „nie udało się dołączyć do identyfikatora procesu”. Używam Xcode 7. Stało się to po wydaniu iOS9 i zaktualizowaniu mojej aplikacji Swift do Swift 2.

Usunięcie mojej aplikacji w symulatorze i wykonanie nowej kompilacji oraz uruchomienie wyczyściło to.

Christopher Larsen
źródło
1
Podobnie tutaj, z wyjątkiem tego, że właśnie kliknąłem aplikację W symulatorze i pojawiła się, ale potem miałem problemy z zatrzymaniem. W końcu po prostu zresetowałem symulator.
MCB,
2

Właśnie usunąłem aplikację z symulatora (tak jak na rzeczywistym urządzeniu), a kiedy ponownie ją uruchomiłem, wszystko działało dobrze.

Nic Foster
źródło
2

Mam też ten sam problem i jak dla mnie rozwiązanie to: -

Po prostu usuń aplikację z symulatora, a następnie wyczyść i uruchom projekt.

Niech pomoże też komuś innemu.

Muhammad Rizwan
źródło
1

Właśnie opublikowałem to na forum deweloperów. To było proste rozwiązanie i może komuś tutaj pomóc:

Miałem dokładnie ten sam problem: podczas korzystania z dowolnej aktualnej wersji Xcode 4.xx i debuggera LLDB, a także dowolnej wersji symulatora, XCode konsekwentnie zawieszał się z komunikatem „nie udało się podłączyć do procesu ...”. Moim jedynym rozwiązaniem było przejście na debugger GDB. To było rozczarowujące, ponieważ bardzo chciałem wypróbować nowy, solidny LLDB w XCode 4.6-DP.

I wtedy sobie przypomniałem; Jakiś czas temu zmieniłem plik hosta sieci / serwera w ... etc / hosts, aby pomieścić kilka wirtualnych hostów serwera Apache2, tj. Usunąłem wiersz:

127.0.0.1 locahost

To było to. Po usunięciu tej linii XCode zawiesił się podczas podłączania do symulatora z LLDB. Przywracając tę ​​linię, XCode działał dobrze z LLDB i symulatorem.

W każdym razie może to nie być twój problem, ale warto go zbadać. O ile mi wiadomo, jest to poważny nieudokumentowany błąd.

fundtimer
źródło
1

Miałem ten sam problem podczas debugowania na urządzeniu. Aplikacja uległa awarii podczas uruchamiania, ale nie pojawiła się jako uruchomiony proces.

Moim rozwiązaniem jest użycie jakiejś aplikacji do przeglądania procesów (np. Status systemu lub podobna). Znajdź swoją nieaktualną aplikację, a następnie znajdź identyfikator procesu nadrzędnego, którym zwykle jest serwer debugowania .

Przejdź do Xcode, Produkt -> Dołącz do procesu -> Według identyfikatora procesu i dołącz do PID procesu serwera debugowania . Poczekaj sekundę, a następnie naciśnij przycisk Stop .

Znikają przestarzałe procesy serwera debugowania i aplikacji.

(W przypadku korzystania z symulatora odpowiednikiem byłoby użycie terminala, ps i zabicie procesu aplikacji. Jednak nie próbowałem tego).

Ramon Poca
źródło
Napotkałem ten błąd przed i po uderzeniu o niego głową przez ostatnie pół godziny, co doprowadziło do mojej poprawki. Wielkie dzięki. '
Gowiem,
1

W moim przypadku rozwiązanie było inne: trybem pracy był „Release”. Zmiana na „Debuguj” naprawiła to. Xcode 4.5.x nie miał z tym problemu.

orip
źródło
1

U mnie problem był spowodowany dość głupim błędem: utworzyłem nowy cel dla mojego projektu, powielając istniejący cel i zapomniałem zmienić identyfikator pakietu w pliku info.plist celu.

mwidmann
źródło
1

Rozwiązałem ten problem, usuwając zawartość danych pochodnych Xcode.

W wyszukiwarce naciśnij SHIFT + CMD + G i wpisz poniżej ścieżkę i usuń wszystkie dane z DerivedData:

  ~/Library/Developer/Xcode/DerivedData

wprowadź opis obrazu tutaj

Zresetuj także kompilacje symulatora

     ~/Library/Application Support/iPhone Simulator/6.0/Applications 
Guru
źródło
1

Powyższa odpowiedź naprawdę mi pomogła. https://stackoverflow.com/a/12819757/1752988 Ponieważ w moim XCode użyłem storyboardu i niestandardowego kontrolera widoku. a na liście ostrzeżeń zauważyłem, że brakuje niektórych plików nib. Widząc to, tęskniłem za prowadzeniem. Jednak widziałem tę odpowiedź i chociaż nie lubiłem resetować zawartości mojego symulatora aplikacji, zrobiłem to i naprawdę zadziałało.

Również zmiana Debuggera z Produkt -> Schemat -> Edytuj schemat (Uruchom) z LLDB na GDB również nie działała dla mnie.

Ps: - Przepraszam, dodałem tę odpowiedź jako komentarz wsparcia do powyższego, ponieważ nie mam 15 punktów reputacji, aby zagłosować na powyższą odpowiedź lub 50 punktów reputacji, aby skomentować powyżej.

Randika Vishman
źródło
1

Rozwiązałem ten problem, wychodząc z XCode i Simulator. Otwórz ponownie projekt. Gotowe.

Jayprakash Dubey
źródło
1

Poniższe działały dla mnie na iOS 9.1:

  1. Po prostu odinstaluj aplikację z symulatora
  2. Zamknij symulator (Cmd + Q)
  3. Wyczyść swój projekt Xcode
  4. Uruchom na symulatorze

Uwaga: nie ma potrzeby resetowania symulatora.

Arjun Shukla
źródło
1

Pracuję na aplikacji Ionic 2, jestem nowy w tym, a nawet Xcode i symulatorze.
Początkowo moja aplikacja działała na symulatorze, ale po pewnym czasie zaczęła generować błąd, np.
błąd xcode: nie udało się dołączyć do identyfikatora procesu

Szukałem, wypróbowałem wszystkie powyższe odpowiedzi, ale mój problem nie został rozwiązany.
Następnie zaktualizowałem ( Ionic , npm , cordova ) konfigurację mojego komputera-

******************************************************
 Dependency warning - for the CLI to run correctly,      
 it is highly recommended to install/upgrade the following:     

 Install ios-deploy to deploy iOS applications to devices.  `npm install -g ios-deploy` (may require sudo)

******************************************************

Your system information:

Cordova CLI: 6.4.0 
Ionic Framework Version: 2.0.0-beta.10
Ionic CLI Version: 2.1.8
Ionic App Lib Version: 2.1.4
ios-deploy version: Not installed
ios-sim version: 5.0.8 
OS: OS X Yosemite
Node Version: v6.2.2
Xcode version: Xcode 7.2 Build version 7C68



******************************************************

Następnie po prostu wykonuję polecenie z katalogu domowego aplikacji

  1. ionic run -l
  2. ionic build ios.
  3. zaimportowane zmiany xcode na xcode.
  4. Zresetuj zawartość i ustawienia jako
    wprowadź opis obrazu tutaj
  5. wyczyść produkt z xcode,
    wprowadź opis obrazu tutaj
  6. Uruchom Xcode i teraz działa na symulatorze.

Cieszę się, że to widzę !!!

S.Yadav
źródło
1

Tak wiele odpowiedzi na to pytanie i nie widziałem tego, co uważam za właściwe. To problem z autoryzacją. Wpisz to w terminalu:

sudo DevToolsSecurity -enable

shinshin
źródło
1

W Xcode 9+ wykonaj następujące czynności: Przejdź do menu Xcode: Product-Scheme - Edit Scheme iw zakładce Run upewnij się, że pole wyboru Debug Executable jest zaznaczone! Otóż ​​to!

wprowadź opis obrazu tutaj

joan
źródło
Co dziwne dla mnie, to
odznaczenie
0

Po prostu zresetuj zawartość i ustawienia symulatora iOS, a następnie wyczyść kod, naciskając klawisze Command + Shift + k, aby wyczyścić kod.

Kwiat pustyni
źródło
0

Choć to kiepskie, ponowne uruchomienie komputera było jedynym rozwiązaniem, które działało. Próbowałem przełączyć się z LLDB na GDB, zresetować zawartość symulatora i zrestartować Xcode. Jedyne, co zadziałało, to ponowne uruchomienie komputera, ponowne otwarcie Xcode i ponowne uruchomienie aplikacji.

Jeff Grimes
źródło
0

Miałem ten sam problem. Zrobiłem kilka kombinacji udzielonych odpowiedzi, aby to zadziałało. :)

wyczyść folder budowania, klikając „Produkt” na pasku menu. trzymając wciśnięty klawisz Alt, kliknij „Wyczyść folder kompilacji”. Teraz zrestartuj Xcode i symulator. Teraz powinno działać. jeśli nie, spróbuj także zmienić identyfikator pakietu i „Reset zawartości” symulatora, a następnie uruchom ponownie xcode i symulator.


źródło
0

Natknąłem się na to dzisiaj. Przypadkowo usunąłem obrazy uruchamiania z moich ustawień docelowych.

PWiggin
źródło
0

spróbuj wykonać kolejne kroki:

  • Przejdź do Product / Scheme / Edit Scheme, a następnie wybierz sekcję Run.
  • Wybierz Info Tan i ustaw Debugger None.
  • Uruchom projekt. Musi działać (bez debuggera)
  • Wróć do Edit Scheme i wybierz debugger LLDB
  • Uruchom projekt. To działa.

Może dodatkowo musisz usunąć dane pochodne i zrobić Produkt / Oczyść

Philip J. Fry
źródło
0

Czy masz wielu użytkowników zalogowanych na swoim komputerze? Mam na laptopie konta „osobiste” i „służbowe”. Wystąpił ten błąd, kiedy próbowałem debugować z mojego konta osobistego, ale zostawiłem uruchomiony symulator na koncie służbowym. Zamknięcie symulatora na drugim koncie rozwiązało mój problem.

bugloaf
źródło
0

i jeszcze jedna dla przypomnienia: (żadna z sugestii nie zadziałała)

Mountain Lion: XCode 4.6.3

  • Usunąłem moved the whole Application to Trashi usunąłem następujące inne foldery
  • /Users/[USERNAME]/Library/Developer
  • /Users/[USERNAME]/Library/Caches/com.apple.dt.XCode
  • /Users/[USERNAME]/Library/Application Support/iPhone Simulator

  • uruchom ponownie system i ponownie zainstaluj XCode

longi
źródło
0

Miałem dziś ten sam problem. używałem Xcode 4.6.3. zamknąłem projekt i otworzyłem go w Xcode 5 i działa idealnie.

Dziwne ale prawdziwe

Mohit
źródło
dla mnie jest to odpowiedź, ponieważ rozwiązała moje pytanie ok
Mohit