/ 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.