Dlaczego otrzymuję błąd ibtool z kodem zakończenia 255?

129

Nagle nie mogę zbudować swojego projektu. Otrzymuję następujący błąd kompilatora:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/ibtool nie powiodło się z kodem zakończenia 255

Otrzymuję ten błąd dla całej grupy moich plików xib. Jakieś pomysły, co się dzieje i jakie jest rozwiązanie?

Korzystanie z Xcode 4.6, iOS 6.1.

Darren
źródło
Czy możesz przywrócić pliki XIB? Czy używasz kontroli źródła tak jak git, aby zobaczyć, co się zmieniło w xib „nagle”?
bryanmac
@bryanmac Używam git, ale problem występował w wielu plikach xib, z których wielu nie dotykałem. Wydaje się, że problem polegał na usterce Xcode, którą rozwiązano przez wielokrotne ponowne uruchamianie Xcode lub przełączanie się na różne symulatory, jak sugeruje zaakceptowana odpowiedź.
Darren
Po prostu spróbuj wyczyścić kod i uruchomić.
Mihir Oza
1
Miałem uruchomioną wersję beta Xcode 9, którą zamknąłem. Zapomniałem zamknąć wersję beta symulatora. Kiedy otworzyłem Xcode 8, otrzymałem ten błąd podczas próby zbudowania i uruchomienia aplikacji. Zamknięcie wersji beta symulatora, wyczyszczenie pamięci podręcznej i przebudowanie rozwiązały problem.
Adrian
Stało się tak, gdy
usunąłem

Odpowiedzi:

151

Coś podobnego przydarzyło mi się ostatnio, używając Xcode 4.6 i iOS 6.1.

Wszystko, co zrobiłem, to przełączyłem się na inną wersję urządzenia (5.1) na symulatorze i zadziałało. Przełączono z powrotem na 6.1 i naprawiłem się.

Xcode może czasami być nieprzydatny.

Jay Q.
źródło
Próbowałem już tego, ale próbowałem jeszcze kilka razy i ostatecznie rozwiązałem problem.
Darren
4.6.1 właśnie wyszedł dzisiaj. Może ta aktualizacja rozwiąże ten problem.
Jay Q.
czasami? Oto moja dzisiejsza produktywność: pracuję bez przerwy przez 6 godzin. 15 minut tworzenia kodu, 5: 45h walki z xcode i nie jestem w pobliżu rozwiązania tego problemu. Człowieku, nienawidzę Xcode. To najgorsze oprogramowanie, z jakim kiedykolwiek pracowałem.
Duck
3
Xcode czasami reaguje śmiesznie. Miałem ten sam problem ... próbowałem kilka razy i ostatecznie został rozwiązany samodzielnie.
Dipika,
4
Właśnie to otrzymałem wraz z aktualizacją do Xcode 9.3. Rozwijam się z Xamarin, więc nie używam Xcode poza kompilatorem. Rozwiązaniem tego problemu było uruchomienie Xcode i otrzymanie monitu o „zainstalowanie wymaganych składników”. Po zakończeniu mogłem odbudować projekt i nie widziałem ponownie tego błędu.
melwil
24

To się nam przytrafia i czyścimy pamięć podręczną, usuwamy folder danych pochodnych… itd. Nic się nie dzieje.

poniższe kroki sprawiły, że to naprawiono,

  1. otwórz xib (nib) jako kod źródłowy (kliknij prawym przyciskiem myszy xib Open As > Source Codez Xcodelub otwórz go za pomocą TextEdit)
  2. Usuń to appearanceType="aqua"
  3. zapisz i otwórz za pomocą Xcode

Aby uzyskać więcej informacji, skorzystaj z tego artykułu , który pomoże nam rozwiązać problem.

damithH
źródło
w moim kodzie nie ma pola wyglądType = "aqua". Jak mam to rozwiązać
Poonam
@abc po prostu wyszukaj „lookType” i usuń tę linię
damithH
22

Spróbuj wyczyścić aplikację. Cmd-Shft-K.

Cofnij
źródło
Tak, nadal bez zmian.
Darren
22

Spróbuj znaleźć wszystkie pliki XIB w projekcie i otwórz go. Jeden z nich najprawdopodobniej spowoduje awarię twojego Xcode.

Moim problemem były niestandardowe czcionki w jakimś pliku XIB.

Musiałem zainstalować brakujące czcionki na moim komputerze i problem został rozwiązany.

knagode
źródło
Dla mnie problem dotyczył storyboardu.
Alex Andrews,
Dla mnie problem dotyczył danych pochodnych
Abdul Yasin
18
  1. Uruchom ponownie Xcode - nie działa
  2. Czyszczenie aplikacji - nie działa
  3. Usuwanie pochodnych danych - nie działa
  4. Zresetuj zawartość i ustawienia symulatora - nie działa
  5. zmiana wersji symulatora - nie działa
  6. Uruchom ponownie system operacyjny - magicznie działa

Nie jestem pewien, która część zrobiła magię i tak, zabiła dużo czasu.

Vikram Belde
źródło
18

W moim przypadku pracowałem nad Visual Studio. Wszystko było dobrze. Nagle pojawił się ten sam problem. Potem otworzyłem XCode, zobaczyłem dostępne aktualizacje. Następnie zaktualizowałem aktualizacje Xcode. Wtedy zadziałało :)

Powód był taki: XCode spodziewał się zakończenia pewnych aktualizacji. Do tego czasu nie działał poprawnie.

wprowadź opis obrazu tutaj

wprowadź opis obrazu tutaj

Nirmal Subedi
źródło
To pomogło to naprawić. Dzięki!
Raajit Sharma
12

Co powinieneś zrobić, jeśli utkniesz, w powłoce: ibtool --warnings --errors --notices yourfile.xib> alerts.plist

który ulegnie awarii, ale teraz masz crashlog, w moim przypadku był to problem z symulowanymi metrykami:

localhost: Classes me $ ibtool --warnings --errors --notices CodeViewController.xib> alerts.plist 2014-04-25 17: 40: 48.625 ibtoold [11691: 507] [MT] DVTAssertions: ASSERTION FAILURE in / SourceCache / IDEInterfaceBuilderCocoaTouch /IDEInterfaceBuilderCocoaTouch-5038/InterfaceBuilder/WidgetIntegration/SimulatedMetrics/IBUISimulatedSizeMetrics.m:33 Szczegóły: (initialTargetRuntime) nie powinno być zerowe. Obiekt: Metoda: -initWithTargetRuntime: Wątek: {name = (null), num = 1} Wskazówki: brak

Więc w moim przypadku otworzyłem xib jako źródło za pomocą menu kontekstowego i usunąłem obiekty metryk. Zależy od błędu, co usunąć lub zmienić. Spróbuj ponownie ibtool, a jeśli się nie zawiesza, jesteś dobry.

Tło: Przyczyna tego błędu jest ogólna, zawsze może się zdarzyć, gdy różne specyfikacje zmieniają się z wersji xcode iOS na wersję, głównie jeśli nie sprawdzałeś okresowo swoich projektów za pomocą aktualizacji xcode.

0llie
źródło
1
Ten błąd występuje z powodu dowolnej nowej nieobsługiwanej funkcji w IB. Dlatego jest to doskonała odpowiedź. Świetna odpowiedź. +1
Vignesh
4

Nie będzie to miało znaczenia dla tych, którzy doświadczyli tego problemu w przeszłości ... Ale w przypadku WatchKit Framework pojawił się ten błąd. Wszystko, co zrobiłem, to usunięcie pliku, który połączyłem między dwoma kontrolerami WKInterface, i budowa się powiodła.

Logan
źródło
Zaczynam od tego problemu jest bardziej związany z płynem czy coś w tym rodzaju. Pracowałem na starym oddziale, a mój szef zmienił wiele rzeczy na storyboardzie. Występuje konflikt wersji tylko podczas scalania, ale po scaleniu. bez względu na to, którą stronę wybrałem w rozwiązywaniu konfliktów. Dochodzi do tego samego błędu. :(
Alix
4

Widzę ten błąd i po zeskanowaniu dziennika awarii zauważyłem, że moja kompilacja Xcode-7 próbowała użyć narzędzi do kompilacji z Xcode-8 Beta. Wcześniej użyłem xcode-select do zmiany wersji narzędzi do kompilacji, których chciałem użyć. Jeśli masz instalację xcode-beta, sprawdź ustawienia za pomocą poniższych poleceń:

Pokaż, która ścieżka narzędzia kompilacji jest ustawiona:

xcode-select -p

Wybierz standardową ścieżkę Xcode:

sudo xcode-select -s /Applications/Xcode.app/

Jeśli próbujesz kompilować za pomocą Xcode w innej ścieżce instalacji, upewnij się, że ścieżka powyżej to odzwierciedla.

nenchev
źródło
3

Mam to właśnie teraz dzięki XCode 8.3.

Dla mnie po prostu opuściłem XCode, a następnie wyczyściłem aplikację i przebudowałem. Po tym było dobrze.

Powodem dla mnie było dodanie nowych plików tekstowych do zlokalizowanego storyboardu.

CodeBender
źródło
2

Właśnie doświadczyłem tego samego i żadna z innych odpowiedzi tutaj nie rozwiązała problemu. Okazało się, że jest to duplikat UILabel w scenorysie ze względu na scalanie git. Najwyraźniej Xcode ulegnie awarii, jeśli dwa elementy interfejsu użytkownika mają ten sam wewnętrzny identyfikator.

Moja metoda znalezienia odpowiedzialnego problemu była następująca:

  • Iteracyjnie przechodź wstecz przez historię git, sprawdzając każde zatwierdzenie, aż znajdziesz pierwszy scenorys, który nie powoduje awarii Xcode.
  • Po zatwierdzeniu, które zaczęło się zawieszać, sprawdź HEAD i iteracyjnie przywróć zmiany scenorysu w zatwierdzeniu problemu. Kontynuuj zawężanie, aż uzyskasz jeden element interfejsu użytkownika lub jedną linię, która spowoduje awarię.
  • Przywróć odpowiedzialną zmianę na stałe i uruchom ponownie Xcode. Otwórz ponownie scenorys i możesz zostać ostrzeżony o wewnętrznej niespójności. Zaakceptuj proponowane zmiany wprowadzone przez Xcode, ale przejrzyj je.
  • W razie potrzeby możesz teraz spróbować ponownie utworzyć element interfejsu użytkownika lub zmiany od podstaw, które wcześniej powodowały problem.
AWright IV
źródło
2

Pracowałem w dodatkowej gałęzi git, kiedy napotkałem problem „255”.

Po prostu wróciłem do mojej głównej gałęzi git, wyczyściłem projekt i uruchomiłem. Żadnych problemów, jak się spodziewałem.

Następnie przełączyłem się z powrotem na gałąź git „problem” i odbudowałem ją z powodzeniem.

Gremliny.

Frederick C. Lee
źródło
2

Coś podobnego przydarzyło mi się również podczas korzystania z Xcode 8.2.1 i iOS 10.2.

Przerzuciłem się na wcześniejszą wersję urządzenia na symulatorze i zadziałało. Potem przełączyłem się z powrotem i zostało to naprawione.

Dmitrii O.
źródło
2

Doszedłem do wniosku, że jeśli używasz Xcode zbyt długo bez zamykania go, Xcode stanie się ostatecznie nieprzydatny i spowoduje losowy tajemniczy błąd. więc regularnie ponownie uruchamiam Xcode i wszystkie aplikacje, które uruchamiam na moim Macu za każdym razem, gdy pojawia się podejrzany błąd.

Xcode Cache
1. spróbuj sprawdzić całą klasę kontrolera segue / outlet / storyboard. czasami scenorys rozłączał się z ustawioną klasą kontrolera widoku. (może to spowodować błąd w czasie wykonywania).

2. Spróbuj wyczyścić projekt i przejdź do (~ / Library / Developer / Xcode / DerivedData) i usuń pamięć podręczną projektu. następnie wymuś zamknięcie Xcode i uruchom go ponownie.

Po trzecie spróbuj sprawdzić całą klasę kontrolera segue / outlet / storyboard. czasami scenorys rozłączał się z ustawioną klasą kontrolera widoku. (może to spowodować błąd w czasie wykonywania).

4. Spróbuj sprawdzić (skopiuj zasób pakietu, źródło kompilacji - Projekt> Faza kompilacji), upewnij się, że wymieniony plik istnieje z poprawnym adresem i folderem. Czasami utworzenie grupy powodowałoby utworzenie folderu i powodowanie, że kompilator nie mógł znaleźć pliku

5-ty może to również być spowodowane przez przeniesiony plik + Xcode, które ostatecznie stają się nieprzydatne i powodują losowy tajemniczy błąd. i zaktualizuj (skopiuj zasób pakunku, źródło kompilacji - Projekt> Faza kompilacji) po zmianie katalogu w pliku

Osobisty błąd. niezamierzone usunięcie
tego również mogło być spowodowane wywołaniem usuniętego kontrolera ViewController lub gniazdka

Muhammad Asyraf
źródło
W obszarze Plik projektu> Ustawienia kompilacji> Cel wdrożenia systemu iOS są wyświetlane tylko liczby, bez „Najnowsza wersja”. Ustawienie iOS 11, potem iOS 9, a następnie powrót do iOS 11 nie przyniosło żadnego efektu. Wersja 9.0 (9A235)
William Cerniuk
@WilliamCerniuk od dnia, w którym opublikowałem tę odpowiedź, odkryłem, że jeśli używasz Xcode zbyt długo bez zamykania go, Xcode stanie się ostatecznie nieprzydatny i spowoduje przypadkowy tajemniczy błąd. więc regularnie ponownie uruchamiam Xcode i wszystkie aplikacje, które uruchamiam na moim Macu za każdym razem, gdy pojawia się podejrzany błąd.
Muhammad Asyraf
@WilliamCerniuk spróbuj wyczyścić swój projekt i przejdź (~ / Library / Developer / Xcode / DerivedData) i usuń pamięć podręczną projektu. następnie wymuś zamknięcie Xcode i uruchom go ponownie.
Muhammad Asyraf
@WilliamCerniuk spróbuj sprawdzić całą klasę kontrolera segue / outlet / storyboard. czasami scenorys rozłączał się z ustawioną klasą kontrolera widoku. (może to spowodować błąd w czasie wykonywania).
Muhammad Asyraf
@WilliamCerniuk spróbuj sprawdzić (skopiuj zasób pakietu, źródło kompilacji - Projekt> Faza kompilacji) upewnij się, że wymieniony plik istnieje z poprawnym adresem i folderem. czasami utworzenie grupy spowodowałoby utworzenie folderu i spowodowanie, że kompilator nie mógł znaleźć pliku
Muhammad Asyraf
2

Miałem ten sam problem podczas korzystania z Visual Studio dla komputerów Mac (Społeczność, 7.4.2 (kompilacja 12)) po aktualizacji systemu operacyjnego (macOS High Sierra 10.13.4).

W tym przypadku wydaje się, że wystarczy zaktualizować Visual Studio i Xcode.

Zauważ, że oczywiście Visual Studio nie dostarcza aktualizacji Xcode, więc „sztuczka” polegała na otwarciu tego ostatniego i pozwoleniu mu na uruchomienie aktualizacji.

Alessio Di Salvo
źródło
To też był mój problem - uruchomienie xcode skłoniło mnie do ponownej instalacji wymaganych komponentów i naprawienia tego.
matt.chatterley
Aktualizacja do iOS 12.0 przydarzyła mi się to samo. Po prostu konieczne było uruchomienie XCode po raz pierwszy, aby umożliwić zainstalowanie dodatkowych komponentów i gotowe!
Dr TJ,
1

Miałem również ten sam problem w Xcode 8. Usunięcie danych pochodnych rozwiązało mój problem.

  1. Przejdź do folderu ~ / Library / Developer / Xcode / DerivedData / i wyczyść znajdujące się w nim foldery
  2. Zrestartuj Xcode i Simulator i uruchom swój projekt ....!
Abirami Bala
źródło
Nie działało usuwanie danych pochodnych dla projektu ani usuwanie ~ / Library / Caches / com.apple.dt.Xcode (często uszkodzona pamięć podręczna)
William Cerniuk
0

Po prostu stało się to po wykonaniu jakiejś pracy w storyboardzie. Cofnąłem trochę i okazało się, że jest to prosty UIButton dodany do widoku. Usunąłem to i zbudowałem bez błędów. Właśnie dodałem nowy przycisk i zadziałało.

Aby uzyskać trochę więcej wyjaśnień ... Przycisk został skopiowany z jednego prototypu TVCell do drugiego. w kopii doszło chyba do zamieszania. Po prostu cieszę się, że nie zmieniłem się zbytnio przed rozpoczęciem budowania.

WCByrne
źródło
0

W moim przypadku stało się to po zmianie nazw niektórych przestrzeni nazw i rozwiązałem ten sam problem przechodząc do właściwości projektów> zakładka APLIKACJA> Domyślna przestrzeń nazw: nadanie nowej poprawnej przestrzeni nazw.

Oczywiście zmieniłem przestrzeń nazw również wewnątrz klas, ale to pomoże, ponieważ naprawi wszystkie automatycznie generowane pliki. Wyczyść i zbuduj, a następnie zamknij i ponownie otwórz rozwiązanie.

Daniele D.
źródło
0

Napotkałem ten sam problem, gdy łączę formularz kodu git z innym kodem programisty. wiele razy próbowałem wyczyścić mój projekt. Ale nic mi nie pomaga.

Otwieram storyboard w kodzie źródłowym. Zacznij porównywać z ostatnimi działającymi scenorysami repozytoriów. Potem zauważyłem, że ta sama etykieta pojawia się dwa razy na tym samym ekranie. następnie usuwam jeden z nich i zapisuję. Pomaga mi.

możesz sprawdzić swój XIB lub scenorys.

Anand Mishra
źródło
0

Miałem ten błąd, ponieważ przepisałem <view>do <imageView>podczas edytowania storyboardu jako kodu źródłowego.

Pomyślałem, że to szybkie i brudne rozwiązanie zadziała przy zamianie niektórych niestandardowych klas (podklas UIView) na UIImageViews.


Cała chwała GIT.

Lord Zsolt
źródło
0

To właśnie spowodowało u mnie problem: próbowałem użyć symulatora iOS 8.0 z Xcode 5.0.2. Wklejałem symulator iOS 8.0 w następującej ścieżce - / Applications / Xcode \ 2.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs W wyniku tego mogłem zobaczyć symulator iOS 8.1 widoczny w lista rozwijana w Xcode 5.0.2, ale spowodowało to błąd kompilacji libtool. Usunąłem symulator ze ścieżki i działał po ponownym uruchomieniu Xcode. Aby móc korzystać z symulatora iOS 8.0, używam Xcode 6.1

GhostCode
źródło
0

Naprawiłem błąd tym poleceniem, zamknij symulator i Xcode:

codesign -vv /A*/Xc* | open -ef

Mam nadzieję, że to pomoże.

Pedro.Alonso
źródło
Jak jest z tym związane kodowanie. kiedy po prostu próbuję zbudować na sim
Alix
0

Otrzymałem ten błąd podczas tworzenia dla 10.9 pliku .XIB, który został utworzony w XCode 6.4 (10.10).

Zobacz tę odpowiedź . XIB wzywał „labelColor”, który został wprowadzony w 10.10 i był nieznany w 10.9.

Otwarcie XIB jako źródła uchroniło go przed awarią XCode i pozwoliło mi zmienić instancje „labelColor” na „textColor”, a błąd został rozwiązany.

jtf
źródło
0

Jak Logan Geefs wspomina powyżej, wydaje się, że jest to spowodowane sekcjami kontrolera interfejsu (tj. Pętlami). Usunięcie „złych” ścieżek nie rozwiązuje tak naprawdę problemu z nawigacją. Potrzebne jest strategiczne umieszczenie niektórych akcji przycisków na [pop kontrolerach].

Oto kod, który działał dla mnie:

 - (IBAction)backToStart {

   [self popToRootController];
 }

 - (IBAction)backToPrevious {

   [self popController];
 }
Jim Rota
źródło
0

Niewielu wspominało, że problem był związany z segueami, mój też był, chociaż nie pojawił się natychmiast po dodaniu nowego segue i udało mi się uruchomić aplikację kilka razy wprowadzić pewne zmiany, dodać nowe widoki, zanim to nastąpiło, więc nie lekceważ tego. Usunąłem niektóre kontrolery i cofnąłem na wypadek, gdyby to nie pomogło. Jeśli problemem jest płynność, którą możesz zbudować, ale nie będziesz w stanie go dodać, więc odtwórz cały kontroler widoku, jeśli jest to opłacalna opcja. Kopiowanie i wklejanie nie działało, chociaż nie próbowałem usuwać połączeń IBOutlet.

Sam Bing
źródło
0

Zaczęło się to zdarzać, kiedy zainstalowałem i zacząłem używać wersji beta XCode 9. Kiedy zacząłem modyfikować dobre projekty w 8.3, storyboardy zostały uszkodzone przez ten błąd i XCode się zawiesił. Miałem XCode 7.x, 8.3 i 9 zainstalowane na moim komputerze. Odinstalowałem je wszystkie (i usunąłem wszystkie powiązane pliki), a następnie ponownie zainstalowałem 8.3 z App Store. Moje scenorysy projektu były nadal uszkodzone, ale udało mi się odzyskać z kopii zapasowej i teraz wszystko jest w porządku, gdy kontynuuję.
Nie jestem pewien, czy jest to związane z wersją beta 9, czy nie.

Stewart Lynch
źródło
0

W moim przypadku miałem ten problem po ręcznym rozwiązaniu konfliktu scalania w pliku „project.pbxproj”. W XCode wybierz project-> target-> BuildPhases-> CopyBundleResources. Tam usunąłem kilka zduplikowanych plików, które były wyświetlane jako puste ikony (w przeciwieństwie do ikon plików XIB). Po tym kompilacja przebiegła bez problemów.

Kabeer
źródło
0

Ten błąd wystąpił dzisiaj w nowym projekcie podczas testowania ARKit iOS za pośrednictwem szablonu projektu „Augmented Reality App”.

Po przeniesieniu niektórych plików .scn z projektu głównego do folderu art.scnassets, zacząłem otrzymywać błąd ze znakiem kodu i nic, co zrobiłem, nie było w stanie go rozwiązać.

Wypróbowałem wszystkie sugestie w tym wątku (wyczyść, wyczyść dane pochodne, zrestartuj Xcode, uruchom ponownie Maca, poszukaj w plikach scenorysu zduplikowanych identyfikatorów) ... ale to, co sprawiło, że zadziałało dla mnie, to:

  • zatwierdź i prześlij moje zmiany do mojego projektu git
  • twardy reset do poprzedniego zatwierdzenia
  • wyczyść dane pochodne i uruchom z powodzeniem
  • twardy reset z powrotem do ostatniego zatwierdzenia

... a teraz zadziałało ... więc domyślam się, że to jakiś błąd w obsłudze git w XCode ???

Tim Kofoed
źródło
0

W XCODE 9 jedną z przyczyn tego jest błąd w XCODE 9.1 ze starymi plikami .XIB.

Naprawić:

  1. Zaktualizuj do XCODE 9.2

  2. Wszystkie pliki .XIB powinny być ustawione na iOS 8.1 w wersji lub nowszej.

Warren P
źródło
0

Po prostu skompiluj swój projekt. zostaniesz rozwiązany!

Sunil Targe
źródło