/ usr / bin / codeign nie powiodło się z kodem zakończenia 1


81

Próbuję wdrożyć moją pierwszą programistyczną aplikację na iPhone'a i napotykam na pewne problemy. Pomyślnie przeszedłem przez Asystenta obsługi administracyjnej online, ale teraz utknąłem. Bez względu na to, co robię, zawsze pojawia się następujący błąd.

/ usr / bin / codeign nie powiodło się z kodem zakończenia 1

Czy ktoś ma jakieś pomysły, dlaczego tak się dzieje?



1
stackoverflow.com/a/44889440/2252866 To rozwiązanie zadziałało dla mnie. Pracowałem nad aplikacją na macOS.
— Mediajon

Odpowiedzi:


55

Aktualizacja:
Uwaga techniczna w mojej oryginalnej odpowiedzi jest teraz przestarzała. Firma Apple opublikowała zbiór problemów z podpisywaniem kodu (i niektórych rozwiązań) w nowym dokumencie: Uwaga techniczna TN2407 Indeks rozwiązywania problemów z podpisywaniem kodu

Sprawdź właściwość CODE_SIGN_IDENTITY w ustawieniach kompilacji. Czy został tam wybrany Twój profil obsługi administracyjnej?
Musisz też podać prawidłowy identyfikator pakietu w pliku .plist aplikacji.
Identyfikator musi pasować do tego, który podałeś podczas generowania profilu.
Jabłko ma TechNote o tym tutaj .


1
Okazuje się, że problemem był poprawny identyfikator pakietu. Dzięki za pomoc, to już naprawione.
— PF1

Jak „wprowadzić prawidłowy identyfikator pakietu”? Jak wygląda jeden z nich?
— budowa zakończyła się

Identyfikator pakietu to ciąg w odwrotnej notacji DNS (np. Com.apple.dt.Xcode), który jest przypisany do klucza plist CFBundleIdentifier. Więcej na ten temat tutaj: developer.apple.com/library/ios/#documentation/General/…
— Thomas Zoechling

Nawet nie wiedziałem, że to ustawienie tam jest. Ratujesz życie.
— dclowd9901,

25

Właśnie natknąłem się na ten błąd i oto, co odkryłem na wypadek, gdyby to komuś pomogło: Odkryłem, że możesz kliknąć prawym przyciskiem myszy komunikat o błędzie w Xcode i wybrać opcję rozwijania, aby uzyskać więcej szczegółów, w tym opis problemu.

W moim przypadku miałem dwie kopie mojego certyfikatu programisty o tej samej nazwie w różnych plikach pęku kluczy, a Xcode nie mógł dowiedzieć się, którego użyć.


Jak to rozwiązałeś? Mam ten sam problem, ale Dostęp do pęku kluczy pokazuje mi tylko jeden certyfikat.
— Dan Ray

11
Znalazłem to. Dla przypomnienia, problemem był wygasły certyfikat w moim pęku kluczy systemu. Dostęp do pęku kluczy domyślnie nie wyświetla wygasłych certyfikatów. Poszedłem do pęku kluczy System, kazałem KA informować mnie o wygasłych certyfikatach, usunąłem ten, który wygasł, który kolidował z moim właściwym na pęku kluczy logowania i wuj Boba.
— Dan Ray

Tobias, jesteś genialny. Dzięki za znalezienie tej sztuczki z prawym przyciskiem myszy.
— Greg Combs

Ja też miałem ten problem. W moim przypadku rozszerzenie go pokazało, że nazwa zwyczajowa była „niejednoznaczna”, ponieważ wydawało się, że TweetDeck ze wszystkich rzeczy przejął pęku kluczy dla jednego z moich danych logowania na konto. Musiałem wejść do Library / Application Support / Adobe / Air / ELS / i wysadzić znajdujące się tam pliki. Wtedy wszystko działało dobrze. Dziwaczny!
— ponury

W moim przypadku problemem była karta inteligentna podłączona do mojego mac mini z nieprawidłowym certyfikatem.
— Giorgio,

18

Może to być dziwna odpowiedź na problem z kodem w Xcode 9.0. Ja też otrzymywałem ten błąd i nie wiedziałem co zrobić, bo wszystko było w porządku.

Poszedłem do pęku kluczy, miałem opcję logowania "odblokowaną". Zablokowałem go i ponownie skompilowałem kompilację. Sam Xcode poprosił mnie o otwarcie pęku kluczy dostępu. Dałem dostęp i zadziałało.

Kroki były:

  1. Idź do pęku kluczy
  2. Zablokuj to
  3. Zarchiwizuj kod, ponownie skompiluj projekt

to zadziałało - accountsdpoprosiłem o dostęp do pęku kluczy przy ponownym uruchomieniu po aktualizacji, którą odrzuciłem, ponieważ modalne pod spodem były dziwne. Odbijanie pęku kluczy było sztuczką
— Warren Burton

14

Miałem dokładnie ten sam błąd i próbowałem wszystkiego pod słońcem, łącznie z tym, co było w innym miejscu na tej stronie, bez powodzenia. Problem polegał na tym, że w Dostępie do pęku kluczy rzeczywisty certyfikat Apple WWDR był oznaczony jako „ Zawsze ufaj ”. Musiał to być „ System Defaults ”. Dotyczy to również Twoich certyfikatów rozwoju i dystrybucji. Jeśli którykolwiek z nich jest nieprawidłowo ustawiony na „ Zawsze ufaj ”, może to najwyraźniej powodować ten problem.

W sekcji Dostęp do pęku kluczy kliknij certyfikat urzędu certyfikacji Apple Worldwide Developer Relations i wybierz opcję Uzyskaj informacje . Następnie rozwiń ustawienia zaufania i w polu kombi „ Podczas korzystania z tego certyfikatu: ” wybierz opcję „ Ustawienia domyślne systemu ”.

Inni komentowali, że może być konieczne zrobienie tego w systemie i pękach kluczy logowania w przypadku tych błędów .


Wielkie dzięki, miałem do czynienia z tym problemem od ostatnich 3 dni i próbowałem wielu rzeczy, takich jak usunięcie całego certyfikatu z moich certyfikatów, usunięcie identyfikatora Apple itp., Ale w końcu zadziałało, gdy kliknąłem certyfikat urzędu certyfikacji Apple Worldwide Developer Relations, wybierz opcję Get Informacje. Następnie rozwiń ustawienia zaufania i w polu kombi „Podczas korzystania z tego certyfikatu:” wybierz opcję „Ustawienia domyślne systemu”.
— Ankit

9

Może być wiele powodów, dla których pojawia się ten rodzaj błędu:

  1. Sprawdź, czy wybrałeś profil informacyjny, który zawiera prawidłową tożsamość podpisywania kodu i prawidłowy identyfikator pakietu w Ustawieniach. (Przejdź do ustawień kompilacji-> Podpisywanie-> Profil obsługi administracyjnej).

  2. Otwórz dostęp do pęku kluczy i kliknij ikonę kłódki w lewym górnym rogu, aby zablokować pęk kluczy logowania, a następnie ponownie kliknij, aby odblokować.

wprowadź opis obrazu tutaj

  1. Przejdź do Plik-> Ustawienia projektu-> Dane pochodne i usuń folder kompilacji projektu. Następnie wyczyść i skompiluj swoją aplikację.

tak @cesarak, myślę, że to jakiś błąd w pęku kluczy.
— Rahul Kumar

6

Miałem ten sam problem z kompilacją dystrybucji. Stało się to nagle. W rzeczywistości nie miałem tego problemu kilka dni temu i poprawnie skompilowałem moją wersję Ad-Hoc. Ten problem pojawił się, ponieważ mój certyfikat właśnie wygasł. Więc poszedłem stworzyć nowy prowizorium zgodnie ze wskazówkami Apple: (http://developer.apple.com/ios/manage/distribution/index.action).

Po spędzeniu godzin w sieci i upewnieniu się, że nie upadłem na to, co mogło pójść nie tak. Oto, co mnie ratuje, zgodnie z sugestiami Tobiasza i Dana Ray:

  1. „... odkrył, że możesz kliknąć prawym przyciskiem myszy komunikat o błędzie w Xcode, aby wyświetlić szczegóły”.
  2. „... problemem był wygasły certyfikat w moim pęku kluczy systemu. Dostęp do pęku kluczy domyślnie nie pokazuje wygasłych certyfikatów”.

Ze szczegółowych informacji dowiedziałem się o niejednoznacznym dopasowaniu dwóch certyfikatów. Jeden z nich był wygasłym certyfikatem w łańcuchu kluczy System. Więc usunąłem wygasły, a potem zadziałało! Zastanawiałem się również, co wpisać w „nazwie pospolitej” podczas tworzenia certyfikatu dystrybucyjnego za pomocą narzędzia pęku kluczy: moje imię lub nazwa firmy. W moim przypadku wpisałem swoje imię. Domyślam się, że jest to ten sam tytuł, do którego odnosi się wiadomość e-mail z automatyczną odpowiedzią dewelopera.

Wielka pomoc. Dzięki.



2

Pomogło mi dodanie --deepdo innych flag podpisywania kodu w ustawieniach kompilacji. Więcej informacji tutaj: Codesign API Dropbox nie działa w Xcode 4.6.3: „obiekt kodu nie jest w ogóle podpisany”

Szkoda, że ​​ten niejednoznaczny błąd ma 400 różnych rozwiązań, ale błądzę.


1
Hej Matt, dzięki! Doprowadziło mnie to do szaleństwa… kilka razy zrezygnowałem ze wszystkiego i nie zadziałało… no cóż - głęboko pomogło… Ale w końcu zgaduję, że przegapiłem dodanie mojego konta programisty w XCode… To i tak naprawdę dziwne ..
— Lukas

1

Miałem ten sam problem. Ostatecznie okazało się, że mój klucz prywatny nie pozwala na dostęp do niego przez firmę Codesign. Można to zobaczyć w oknie informacyjnym aplikacji pęku kluczy.


1

Muszę się zgodzić z Tobiaszem. Błąd jest zbyt ogólny. Kiedy przydarzyło mi się to samo, zagłębiłem się w komunikat o błędzie i zdałem sobie sprawę, że coś schrzaniłem we właściwościach kompilacji, ale nie w podpisywaniu kodu. Więc tak, zagłębię się w szczegóły.


1
Powinieneś wskazać to jako komentarz pod pytaniem użytkownika.
— Matteo Alessani,

1

W moim przypadku błąd wynikał z faktu, że miałem na pęku kluczy dwa klucze o tej samej nazwie. Usunąłem stary i to rozwiązało problem.

Przechodząc do komunikatu szczegółowego, pokaż mi prawdziwy problem.


1

po wielu godzinach szukania w Google i wypróbowywania różnych rzeczy, oto co mi to pomogło:

  1. Upewnij się, że na karcie System> Certyfikaty w dostępie do pęku kluczy nie ma żadnych certyfikatów. Usuń stamtąd wszystkie zduplikowane certyfikaty.

  2. Zainstaluj pośredni certyfikat WWDR pod certyfikatami z portalu obsługi administracyjnej, oprócz certyfikatów programistów i upewnij się, że widzisz go na karcie Logowanie> Certyfikaty w Dostępie do pęku kluczy.

mam nadzieję, że to pomoże niektórym z was!


1

Ten sam problem z niejednoznacznym (dopasowuje „iPhone Developer: [me]” i /// plik danych biblioteki tweetdecka privateata. Naprawiono go, przenosząc plik do kosza i ponownie logując się do Tweetdeck, ponownie ustawiając hasła. Co za ból.


1

Miałem ten sam problem, ale w dzienniku błędów wymieniono również: CSSMERR_TP_CERT_NOT_VALID_YET

Spojrzenie na certyfikat w KeyChain pokazało podobny komunikat. Problem był spowodowany nieprawidłowym ustawieniem zegara systemowego mojego Maca. Jak tylko ustawiłem właściwy region / czas, certyfikat został oznaczony jako ważny i mogłem zbudować i uruchomić moją aplikację na iPhonie


1

Otrzymałem również ten błąd („/ usr / bin / Codesign nie powiodło się z kodem zakończenia 1”), a kiedy sprawdziłem Dostęp do pęku kluczy, moje certyfikaty programisty zostały oznaczone jako „Ten certyfikat został podpisany przez nieznany urząd”. Niedawno zaktualizowałem system do Mac OS 10.8 i od tego czasu miałem kilka innych problemów z XCode (4.5.2). Okazuje się, że nie miałem zainstalowanego certyfikatu pośredniego WWDR. Pobrałem to z portalu iOS Provisioning, zainstalowałem w Keychain Access i mój projekt znów się buduje!


1

Kiedy pojawił się ten błąd, nawet nie próbowałem podpisać aplikacji. Pisałem aplikację testową i nie obchodziło mnie podpisywanie. Aby pozbyć się tej wiadomości, musiałem wybrać „Nie podpisuj kodu” w Ustawieniach kompilacji pod Podpisywanie kodu.

wprowadź opis obrazu tutaj


1

Czasami twój folder kompilacji wymaga po prostu czyszczenia - z pewnością zadziałał dla mnie. Dzięki Loafer-Project za rozwiązanie.


0

Jedną z możliwych przyczyn jest brak uprawnień do zapisu w katalogu kompilacji.

Rozwiązanie: Usuń cały katalog kompilacji w folderze projektu i odbuduj aplikację.


0

Właśnie natknąłem się na ten błąd, ponieważ próbowałem zapisać plik kompilacji na dysku sieciowym, który nie działał. Próbowałem ponownie z mojego komputera i działało dobrze. (Może być konieczne „wyczyszczenie” kompilacji po jej przeniesieniu. Wystarczy wybrać opcję „Wyczyść wszystkie cele” z menu rozwijanego „Budowa”).

Tobias ma jednak rację, zagłęb się w szczegóły kodu, klikając go prawym przyciskiem myszy, aby zobaczyć, jaki jest twój problem.


0

Jedną rzeczą, na którą będziesz chciał uważać (to głupi błąd z mojej strony, ale zdarza się), jest to, że adres e-mail dołączony do CSR musi być taki sam jak adres e-mail podłączony do twojego konta Apple Dev. Kiedy użyłem nowego CSR i odbudowałem wszystkie certyfikaty i profile aprowizacji, wszystko było dobrze w Appleville.



0

Trochę stare pytanie, ale wydaje się, że nadal się zdarza. Inne rozwiązanie:

Wystąpiło u mnie po przywróceniu gałęzi w git. Próbowałem wyczyścić, wyczyścić kompilacje, usunąć pochodne i ponownie uruchomić Xcode, ale bez powodzenia.

Spróbuj ponownie uruchomić komp.


0

Miałem ten sam nieznany błąd związany z kodowaniem, o którym wspomniałeś. Podobnie jak w przypadku udzielonej odpowiedzi (ale trochę inna), właśnie zablokowałem dostęp do pęku kluczy i odblokowałem go, i mogłem ponownie zbudować i uruchomić na moim urządzeniu. Jeśli ktoś ma ten sam problem, być może spróbuj najpierw, zanim przejdziesz przez problem ze zmodyfikowaniem hasła pęku kluczy.


0

Wrzucając swoje komentarze do pierścienia, natknąłem się na to po próbie odświeżenia mojego środowiska programistycznego po przypadkowym kliknięciu ODMÓW na jednym z żądań aplikacji, po przeszukaniu strony znalazłem kilka rzeczy, które wydawały się nie działać. Oto pełna kolejność, w jakiej próbowałem poprawiać i czy zakończyło się sukcesem:

1) Podjęto próbę wyczyszczenia DerivedFiles i ponownego uruchomienia XCode - bez kości

2) Podjęto próbę zalogowania i odblokowania pęku kluczy, a następnie uruchom ponownie XCode - bez kości

3) Próbowałem odświeżyć moje konto programisty w XCode - bez kostek

4) Rozgryź kulę i po prostu zresetuj cały mój pęku kluczy, po wykonaniu tej czynności moje konto programisty zostało wylogowane (zalogowane ponownie), a następnie ponownie uruchomiłem XCode - bez kości

5) Znalazłem tutaj artykuł, który mówi, że musimy ustawić [login | lokalny | System] / certificate / Apple Worldwide Developer Relations Certificate Authority na „System default”. Ale w moim przypadku był już ustawiony na domyślne ustawienie systemu - bez kości

6) Następnie spojrzałem na mój rzeczywisty login do certyfikatu programisty / moje certyfikaty / Mac Developer: i kiedy tam zajrzałem, było poprawnie ustawione na Potwierdź przed zezwoleniem na dostęp, ALE nie było żadnych wpisów w dolnej sekcji. Powinien być [Xcode, codign, productbuild]. Usunąłem wpis certyfikatu i zrestartowałem XCode - bingo

Certyfikat został dodany i zostałem poproszony. Więc co zrobiłem, nacisnąłem „zawsze pozwalaj”, a potem po prostu się wykopałem.

Musiałem wrócić i ponownie usunąć certyfikat, a następnie przejść przez około 20 okien dialogowych zezwalających podczas czystej kompilacji. Po ukończeniu byłem w stanie całkowicie zbudować.


0

W moim przypadku po kilku dniach poszukiwań

Wszystko, co zrobiłem, aby się obrócić, jest wymienione poniżej:

  1. usuń cały certyfikat z pęku kluczy.
  2. Otwórz swoje konto Apple. a) pobierz określony certyfikat, który chcesz zainstalować w swoim pęku kluczy. b) (Opcjonalnie) Utwórz również i pobierz wymagany profil.
  3. w Xcode wyczyść projekt. To może zająć troche czasu.
  4. Zbuduj swój projekt.

Powinno to działać w przypadku podobnych problemów z kodem.

Uwaga, podczas tego procesu system operacyjny poprosi o potwierdzenie poświadczeń.


-1

Otwórz ścieżkę projektu w terminalu i wprowadź poniższe polecenia w terminalu

1) znajdź. | xargs -0 xattr -c

2) xattr -rc.

To działa dla mnie.


odnaleźć . -type f -exec xattr -c {} \;
— Sage

Ten działa dla mnie; odnaleźć . -type f -exec xattr -c {} \;
— Sage

co to ?
— Setar
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.