Xcode 10, Command CodeSign nie powiodło się z niezerowym kodem zakończenia


124

Za każdym razem, gdy buduję konsolę, wyświetla się ten komunikat.

CodeSign /Users/admin/Desktop/AppStoreBuild/Project201/build/Debug-iphonesimulator/Project.app (w miejscu docelowym: Desker) cd / Users / admin / Desktop / AppStoreBuild / Project201 export CODESIGN_ALLOCATE = / Applications / Xcode.app / Contents / Deweloper / Toolchains / XcodeDefault.xctoolchain / usr / bin / codign_allocate

Podpisywanie tożsamości: „-”

/usr/bin/codesign --force --sign - --entitlements /Users/admin/Desktop/AppStoreBuild/Project201/build/Project.build/Debug-iphonesimulator/Project.build/Project.app.xcent --timestamp=none /Users/admin/Desktop/AppStoreBuild/Project201/build/Debug-iphonesimulator/Project.app

/Users/admin/Desktop/AppStoreBuild/Project201/build/Debug-iphonesimulator/Project.app: rozwidlenie zasobów, informacje Findera lub podobne detrytus niedozwolone Polecenie CodeSign nie powiodło się z niezerowym kodem zakończenia

... Czy istnieje sposób, aby zidentyfikować przyczynę tego niepowodzenia. Pokazuje tożsamość podpisywania: „-”, gdy próbuję również uruchomić w symulatorze. dlaczego potrzebujemy podpisywania tożsamości w symulatorze. I jeszcze jedna rzecz, jeśli wyjdę z Xcode i uruchomię ponownie, będzie się poprawnie budować, gdy zmienię kod lub dodam metodę, a kompilacja ponownie się nie powiedzie.

Odpowiedzi:


345

Miałem ten problem i Xcode nie mógł się skompilować na urządzeniu, ale na symulatorze działało dobrze.

Rozwiązałem tymi krokami:

  1. Otwórz dostęp do pęku kluczy.
  2. Zablokuj pęku kluczy „login”.
  3. Odblokuj go, wprowadź hasło do konta PC.
  4. Wyczyść projekt w menu produktu.
  5. Zbuduj to ponownie.

A potem wszystko działa dobrze.


18
w moim przypadku był odblokowany ... więc po prostu go zablokowałem, a następnie wyczyściłem i zbudowałem, a Xcode poprosił mnie o podanie hasła. Praca
Jad

1
Jest to dla mnie idealne rozwiązanie w moim przypadku osobno nie załadowałem xcode10.1 i miałem poprzedni xcode 10.0. Potem dawało powyższe po wykonaniu rozwiązania dostarczonego przez @omanosoft
Abhijit Chakra.

Dodałbym, że u mnie zadziałało bez punktu 4. Aby uniknąć długiego czyszczenia i budowania.
Crazy Barney

1
Pół dnia zajmuje mi znalezienie rozwiązania, które mnie uratowało, dziękuję drogi przyjacielu.
Bachir Mehemmel

2
W moim przypadku okno dialogowe wyskakuje wiele razy, aby wprowadzić hasło. Za każdym razem wpisałem hasło do konta PC i po 7-10 razy dostęp został zaakceptowany.
Adrian Buciuman,

57

Żadne z wymienionych rozwiązań nie działało dla mnie. W innym wątku zwrócono uwagę, że włączenie folderu o nazwie „resources” do projektu powoduje ten błąd. Po zmianie nazwy mojego folderu „zasoby” błąd zniknął.


3
Dla mnie to też zadziałało. Przeciągnąłem folder „Resources” z Findera do mojego projektu i użyłem domyślnego „Utwórz odniesienie do folderu”, co utworzyło niebieski folder „Zasoby”. Usunąłem to, ponownie przeciągnąłem ten sam folder „Zasoby” z Findera do mojego projektu, ale tym razem wybrałem „Utwórz grupy” i teraz mój projekt kompiluje się bez błędu podpisu.
Mark Petereit,

1
Dziękuję, to było bardzo pomocne
Pan T

Napotkałem ten sam problem po dodaniu modułów Firebase zgodnie z ich instrukcjami. Zmieniłem nazwę folderu Zasoby na FirebaseResources i działało dobrze. Dziękuję Ci.
ruralcoder

Fajnie, miałem ten sam problem podczas kopiowania innej bazy kodu. Co dziwne, druga baza kodu nie miała żadnych problemów, ale skopiowanie jej spowodowało wpływ na nowy projekt. Zmiana nazwy folderu Resources załatwiła sprawę.
Mateusz

czy ktoś może mi powiedzieć, gdzie i jak mogę znaleźć ten folder zasobów
pratteek shaurya

41

Jeśli również podpisanie kodu nie powiedzie się i wyświetli się błąd „rozwidlenie zasobów, informacje wyszukiwarki lub podobne detrytus niedozwolone”.

Uruchom poniższy skrypt w konsoli, aby naprawić:

$ xattr -cr <path_to_app_bundle>

Dokumentacja Apple: https://developer.apple.com/library/archive/qa/qa1940/_index.html


szukanie problemu przez tygodnie i proszenie Apple o wsparcie - bez powodzenia. Dzięki za rozwiązanie! U mnie sprawdza się idealnie - przy KILKU projektach.
Christian Krueger

Dzięki za to. Naprawiłem mój problem.
nicktones

Zastąpienie <path_to_app_bundle> ścieżką do rzeczywistego pakietu aplikacji.
xuzepei

15

Zdarzyło mi się to właśnie dzisiaj, dopiero po dodaniu obrazu .png z zaznaczonym w get info „ukryj rozszerzenie”. (Obraz po kliknięciu prawym przyciskiem myszy) Obraz ten został dodany do katalogu plików mojego projektu Xcode.

Po odznaczeniu pola i ponownym dodaniu obrazu .png do katalogu Xcode, wyczyściłem i zbudowałem i po tym działałem dobrze, bardzo dziwny błąd, jeśli o mnie chodzi.


1
Miałem ten sam problem z .jpg, który nie miał rozszerzenia. Naprawiono po dodaniu tego.
eivindml

1
Dzięki za zaoszczędzenie czasu. Brawa za powiązanie tego błędu z obrazem z ukrytym rozszerzeniem.
Marcy

1
Napotkałem ten problem z plikiem png, ale miał widoczne rozszerzenie. Obraz został wyeksportowany z Photoshopa przy użyciu funkcji „eksportuj kompozycje warstw do plików”. Usunięcie obrazu i ponowne wyeksportowanie za pomocą opcji „Eksportuj jako” rozwiązało problem.
Hermes

ten sam problem z obrazem PNG!
Pan T

7

Spróbuj wyczyścić projekt:

1. shift + cmd + k
2. shift + cmd + Alt + k 

Następnie spróbuj ponownie uruchomić projekt. Mam nadzieję, że to rozwiąże problem.


1
Zrobił. czyste udało się. kiedy buduję, nie udaje mi się
Test Test

1
budować upadające bracie.
Test testowy

1
W moim przypadku zadziałało jak urok!
Heitor

5

Ten problem wystąpił po dodaniu plików .dae i .png i konwersji .dae za pomocą XCode Editor do formatu pliku sceny SceneKit (.scn).

Po przeprowadzeniu dalszych badań znalazłem rozwiązanie tutaj - https://forums.developer.apple.com/thread/109951#336225

Kroki, aby rozwiązać problem:

  1. W XCode przejdź do Preferencji
  2. Kliknij kartę Lokalizacje
  3. W Narzędziach wiersza poleceń wybierz z rozwijanej listy XCode 10.1

3

W Xcode: Idź do Preferencje Wyloguj bieżącego użytkownika.

Zamknij Xcode

W pęku kluczy: przejdź do logowania i wszystkich elementów

        - Sort by kind
             - remove "Apple Worldwide Developer Relation Certification Authority"
             - remove "Developer ID Certification Authority"
             - remove "iPhone Developer ...."

Otwórz Xcode

Przejdź do Preferencji i zaloguj się na swoje konto użytkownika Apple

  • Spowoduje to ponowne załadowanie usuniętych wcześniej certyfikatów dewelopera Odbuduj projekt (kompilacja powinna zakończyć się pomyślnie)

Uruchom kompilację na swoim urządzeniu natywnym


3

W moim przypadku były następujące linie błędów:

Podpisywanie tożsamości: „-”

… ..Mobile.app: rozwidlenie zasobów, informacje z wyszukiwarki lub podobne detrytus są niedozwolone

Polecenie CodeSign nie powiodło się z niezerowym kodem zakończenia

problem polegał na tym, że w folderze zasobów miałem pliki z rozszerzeniem .png, które domyślnie było ukryte.

Znajdź plik w FINDER, zaznacz go -> cmd + i -> odznacz Ukryj rozszerzenie

następnie wróć do Xcode -> kmd + shift + K i odbuduj.

Mam nadzieję, że byłem pomocny!


Wielkie dzięki! To pomaga.
ZavtraMen

Wypróbowałem inne rozwiązania. To jedyne rozwiązanie, które u mnie zadziałało.
andrewbuilder


3

Naprawić

Usuń rozszerzone atrybuty plików z plików zasobów na dobre, a nie ze skompilowanego pakietu aplikacji:

  1. Otwórz terminal

  2. Zmień katalog na katalog główny plików źródłowych

    $ cd / Users / rjobidon / Documents / My \ Project

  3. Wymień wszystkie rozszerzone atrybuty

$ xattr -lr .
  1. Usuń wszystkie rozszerzone atrybuty
$ xattr -cr .

Błędy Xcode

  • „Polecenie CodeSign nie powiodło się z niezerowym kodem zakończenia”
  • „Rozwidlenie zasobów, informacje o wyszukiwarce lub podobne detrytus są niedozwolone”

Przyczyna

Firma Apple wprowadziła zmianę zwiększającą bezpieczeństwo, dlatego podpisywanie kodu nie pozwala już żadnemu plikowi w pakiecie aplikacji mieć rozszerzonego atrybutu zawierającego rozwidlenie zasobów lub informacje Findera.

Źródła


2

Nie jestem pewien, co powoduje ten problem, ale jedną z metod, których użyłem do pomyślnego rozwiązania problemu, było uruchomienie aktualizacji strąków na moich strąkach kakao.

Błąd (przynajmniej dla mnie) wskazywał na problem z podpisaniem jednego z podów. Aktualizacja zasobników rozwiązała problem z podpisywaniem.

pod update [PODNAME] //For an individual pod

lub

pod update //For all pods.

Miejmy nadzieję, że pomoże to komuś, kto ma ten sam błąd „Polecenie CodeSign nie powiodło się z niezerowym kodem zakończenia”.


Nie mam pliku podfile - nie wiem nawet, jaka powinna być nazwa i rozszerzenie pliku. Czy możesz to wyjaśnić?
Jedź w niedzielę

Cześć @RideSun, Być może nie dodałeś jeszcze podów do swojego projektu. Ten plik podfile nosi nazwę „Podfile”. Nie ma rozszerzenia, domyślnie będzie to plik TextEdit.
paul_f

2

Po wypróbowaniu wszystkiego moim rozwiązaniem było usunięcie niektórych plików PNG, skompilowanie i uruchomienie (ok) i ponowne dodanie obrazów PNG. Dziwne!


Podobnie. Dodano 5 plików .PNG bez rozszerzenia .PNG, kilka pierwszych kompilacji działało, a następnie po edycji kontrolek w IB wystąpił powyższy błąd podpisywania z komunikatem "rozwidlenie zasobów, informacje Findera lub podobne detrytus niedozwolone". Detritus? Kto używa tego słowa? Zmieniając nazwy plików tak, aby miały rozszerzenie .PNG, rozwiązano problem.
Chris Walken

1

Żadna z innych odpowiedzi nie zadziałała. Oto, co zrobiłem:

  1. usunąłem mój certyfikat z pęku kluczy;
  2. otworzył Xcode i odbudował certyfikat;
  3. pomyślnie uruchomiłem aplikację na urządzeniu.

1

W moim przypadku musiałem przejść do pęku kluczy, wybrać pęku kluczy „login”, dwukrotnie kliknąć klawisz iOS Developer: moja nazwa, kliknąć kartę kontroli dostępu i przełączyć przycisk opcji na Zezwalaj wszystkim aplikacjom na dostęp do tego elementu.


1

Ten problem został spowodowany przez skompilowanie mojego projektu w schemacie wydania. Może to być również spowodowane innymi czynnikami. Spróbuj zmienić schemat kompilacji, przechodząc do xCode do Product> Scheme> Edit Scheme. W sekcji „Uruchom” znajdującej się po lewej stronie przełącz opcję „Konfiguracja kompilacji” na „Debuguj”. Mam nadzieję, że to pomoże.


1

Żadne z powyższych rozwiązań nie zadziałało. Po pewnym zgadywaniu próbowałem (Xcode v10.2.1 cocoapods v1.7.1)

pod deintegrate

śledzony przez

pod install

Następnie:

  • Otwarto obszar roboczy w Xcode
  • Wyczyszczono folder kompilacji
  • Zbuduj projekt

Brak błędów kompilacji.


1

Dla mnie rozwiązanie było następujące, mając włączoną flagę „Automatycznie zarządzaj znakiem”:

  1. w rozwijanym menu zespołu celu wybierz „Brak”

  2. ponownie wybierz właściwy zespół programistów

Po wypróbowaniu prawie każdej sugestii stwierdziłem, że to działa, chyba dlatego, że Xcode konfiguruje podpisywanie od zera.


1

Żadne z popularnych rozwiązań nie zadziałało.
W moim przypadku rozwiązałem błąd, przechodząc do

XCode -> Preferencje -> Konta -> Zarządzaj certyfikatami

i dodał (+) do rozwoju iOS .


1

Wrzucę moje rozwiązanie. To rozwiązanie działało u mnie, ponieważ żadne z poprzednich nie działało. Problem pojawił się po raz pierwszy zaraz po ostatniej aktualizacji zestawu narzędzi XCode cli (nie jestem pewien, czy jest to błąd potwierdzenia).

Wypróbowałem niektóre instrukcje (np. Trick Unlock Keychain).

Co zadziałało w przypadku błędu:

  • Command CodeSign failed with a nonzero exit code (Something.framework)

    • Treść DD w koszu; rm -rf / Users / dx / Library / Developer / Xcode / DerivedData / *
    • Uruchom ponownie XCode
    • Fazy ​​budowy => Link Binary With Libraries
      • Something.framework,
    • Ustaw wartość osadzania w General => Something.framework => EMBED
      • Do not embed
    • Prasa Cmd+B(buduj projekt)
    • Mam nadzieję, że zbudowano pomyślnie

Kiedy wykonałem powyższe kroki, naprawdę pomyślnie zbudowałem aplikację, ale Xcode przypomnij mi: powód: nie znaleziono obrazu . Rozwiązuję problem w następujący sposób: CELE - Fazy kompilacji - Połącz Something.frameworkplik binarny ze strukturą
Xuyee Wang

1

Miałem ten problem z powodu błędnej konfiguracji mojego certyfikatu urzędu certyfikacji Apple Worldwide Developer Relations .

Rozwiązałem problem, przełączając się z „Zawsze zaufanie” na „Użyj domyślnych ustawień systemu”

Krok po kroku:

  1. Otwórz KeyChain
  2. Kliknij pęku kluczy „zaloguj się” (upewnij się, że jest odblokowany - jeśli jest zablokowany Kliknij go prawym przyciskiem myszy i wybierz opcję „Odblokuj łańcuch kluczy”)
  3. Kliknij Certyfikaty i znajdź certyfikat Apple Worldwide Developer Relations Certification Authority
  4. Kliknij go prawym przyciskiem myszy i wybierz Uzyskaj informacje
  5. Rozwiń sekcję Zaufanie i zmień ustawienia na Użyj domyślnych ustawień systemu, jak na poniższym zrzucie ekranu

wprowadź opis obrazu tutaj


1

Dzieje się tak, ponieważ podpisywanie kodu nie pozwala już żadnemu plikowi w pakiecie aplikacji mieć rozszerzonego atrybutu zawierającego rozwidlenie zasobów lub informacje Findera.

Aby zobaczyć, które pliki powodują ten błąd, przejdź do folderu .app, zwykle jest to: / Users / XXXX / Library / Developer / Xcode / DerivedData / MyProject-ckbzynxqjmstxigbdwwkcsozlego / Build / Products / Debug-maccatalyst / (mój to projekt Catalyst) W Terminalu

cd <above path>
xattr -lr .

Zobaczysz, że niektóre pliki mają rozszerzony atrybut:

./MyProject.app/Contents/Resources/shopping_cart.png: com.apple.lastuseddate # PS: 00000000 BE 31 D5 5E 00 00 00 00 D0 40 FE 39 00 00 00 00 | .1. ^ ..... @ .9 .... |

Następnie przejdź do folderu projektu lub folderu odniesienia dla tych plików, usuń atrybut rozszerzony:

cd /Users/XXXX/Work/MyProject
xattr -cr .

Po wyczyszczeniu wszystkich folderów, do których istnieją odwołania, przejdź do Xcode i odbuduj.


0

Ja również widziałem ten błąd po dodaniu mieszanki obrazów .jpg i .png do folderu art.scnassets, wprowadzeniu zmian w kodzie i usunięciu tych zmian za pomocą menu Xcode Kontrola źródła> Odrzuć wszystkie zmiany ...

Wypróbowałem inne poprawki w tym wątku, ale ostatecznie musiałem usunąć dodane pliki .jpg / .png, wyczyścić projekt i odbudować projekt, aby wyeliminować błędy. Następnie przeczytałem oryginalne pliki .jpg / .png i teraz odbudowuję kod bez problemu.


Dodałem kilka plików Swift z mojego innego projektu, a także jeden obraz png. Po pomyślnym usunięciu tego projektu obrazu png 😀
Prashant Gaikwad


0

Po skopiowaniu dwóch plików .aiff w grupie .scnassets wystąpił ten błąd. Usunięcie plików i „Clean Build Folder” rozwiązuje problem w moim przypadku.


0

Nie jestem pewien, czy to komukolwiek pomoże - ale upewnij się, że Find Implicit Dependenciesodhaczyłeś. Czasami może to prowadzić do tego, że Twój projekt „traci orientację”, gdzie szukać pewnych rzeczy.


wprowadź opis obrazu tutaj


Gdy to zrobisz, proponuję również wyczyścić projekt i odbudować.

wprowadź opis obrazu tutaj


0

U mnie to zadziałało :) Usunąłem certyfikat w ustawieniach dostępu do pęku kluczy. Przejdź do Xcode i skompiluj czystą aplikację. Teraz certyfikat jest ponownie tworzony w dostępie do pęku kluczy, a kompilacja kończy się pomyślnie na prawdziwym urządzeniu.


0

Tylko wizualizacja

Lock Keychain "login" -> Unlock Keychain "login" -> Always allow

wprowadź opis obrazu tutaj


0

W moim przypadku była to przypadkowo włączona opcja. Używam wspólnych plików głównych .xcconfig zarówno dla iOS, jak i macOS, dla systemu iOS opcja Włącz zahartowane środowisko uruchomieniowe pozostała włączona, więc zastępuję wiersz

ENABLE_HARDENED_RUNTIME = YES

przez

ENABLE_HARDENED_RUNTIME[sdk=macosx*] = YES

w pliku .xcconfig rozwiązał problem



0

Mój problem został rozwiązany

  • Zaznacz opcję Automatycznie zarządzaj podpisywaniem w Target MyProject i Dodaj zespół.
  • Zaznacz opcję Automatycznie zarządzaj podpisywaniem w Target MyProjectTest i Dodaj zespół.
  • Produkt -> Clean Build Folder -> Build ponownie lub spróbuj uruchomić na urządzeniu.

Problem występuje, gdy masz niewłaściwy / inny zespół w MyProject i MyProjectTest.

Ponowne podłączenie telefonu przed odbudową również może pomóc w rozwiązaniu tego problemu.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.