iOS 7.0 Nie znaleziono tożsamości do podpisywania kodu


124
  • certyfikat jest ważny
  • xcode 5
  • iOS 7

Błąd Code Sign: Nie znaleziono tożsamości podpisujących kod: Nie znaleziono tożsamości podpisujących kod (tj. Par certyfikatów i kluczy prywatnych), które pasują do profilu udostępniania określonego w ustawieniach kompilacji („iOS Team Provisioning Profile: *”). Błąd CodeSign: podpisywanie kodu jest wymagane dla typu produktu „Aplikacja” w SDK „iOS 7.0”


24
Nazywam to koszmarem związanym z logowaniem się za pomocą kodu Apple, zawsze rozwiązuję ten problem, usuwając moje certyfikaty / profile, ponownie je pobieram, a następnie mapuję odpowiednie profile.
meda

zobacz moją odpowiedź SO Answer stackoverflow.com/questions/19086395/…
Deepesh

9
Pomaga ponowne uruchomienie Xcode.
Ronald Randon

2
Ponowne uruchomienie Xcode działa dla mnie :)
Hemant Chittora

1
Trzeci restart XCode
Khanh Nguyen

Odpowiedzi:


68

Certyfikat

  1. Odwołaj poprzedni certyfikat.
  2. Wygeneruj nowy certyfikat rozwoju.
  3. Pobierz certyfikat.
  4. Kliknij dwukrotnie, aby umieścić w KeyChain.

Dla profilu aprowizacji

  1. Utwórz nowy lub edytuj istniejący profil obsługi administracyjnej.
  2. Ściągnij i zainstaluj.

Dla BundleIdentifier.

  1. com.yourcompanyName.Something (Wpisz to samo, co w AppId)

wprowadź opis obrazu tutaj

CodeSigningIdentity.

  1. Wybierz utworzony profil aprowizacji.

wprowadź opis obrazu tutaj


4
Czasami pomaga ponowne uruchomienie, pomogło mi to po ponownym uruchomieniu komputera Mac.
maska

1
Należy również sprawdzić, czy istnieje profil aprowizacji dystrybucji z identyfikatorem aplikacji, który jest zgodny z identyfikatorem pakietu dla aplikacji. Gdy już je dopasuję, okno dialogowe przesyłania zakończyło się, dając mi ten błąd.
Chuck Krutsinger

1
Przed ponownym wygenerowaniem certyfikatów proponuję upewnić się, że masz klucz prywatny certyfikatu, którego próbujesz użyć.
jjramos

Czy jest jakiś konkretny powód, dla którego powinniśmy unieważnić poprzednie certyfikaty?
iAviatorJose

43

Moja poprawka na ten problem to:

Xcode> Preferencje. W sekcji Konta kliknij swój Apple ID. Kliknij Wyświetl szczegóły, kliknij Profil aprowizacji swoich projektów (myślę, że to pomaga) i kliknij przycisk odświeżania w lewym dolnym rogu.


17

Pomyślałem, że uzupełnię inne odpowiedzi moim osobistym doświadczeniem.

Niedawno miałem problem z budowaniem dwóch celów, a dwa kończyły się niepowodzeniem z następującym błędem:

Błąd Code Sign: Nie znaleziono identyfikatorów do podpisywania kodu: Nie znaleziono prawidłowych tożsamości podpisujących (tj. Pary certyfikatu i klucza prywatnego) pasujących do identyfikatora zespołu „XXXXXXXXXX”. Błąd CodeSign: podpisywanie kodu jest wymagane dla typu produktu „Aplikacja” w SDK „iOS 7.1”

Stało się tak pomimo zaktualizowania wszystkiego w Xcode i w Centrum deweloperów iOS .

Wskazówka była taka, że ​​identyfikator zespołu wyświetlany w komunikacie o niepowodzeniu kompilacji był nieaktualny.

Rzeczywiście, otwarcie project.pbxprojpliku Xcode w edytorze tekstu znalazło stary identyfikator zespołu:

D29A93A318AB96440099C177 = {
        DevelopmentTeam = XXXXXXXXXX;
};

Nawiasem mówiąc, aby pobrać project.pbxprojplik, wybierz .xcodeprojplik i pokaż zawartość, jak pokazano tutaj:

wprowadź opis obrazu tutaj

Szukając identyfikatora celu D29A93A318AB96440099C177, zauważyłem, że pasuje do jednego z nieudanych celów:

targets = (
    F5E8B19A16E64505006F22D4 /* MyTarget1 */,
    93DB2342183F737100BEA69F /* MyTarget2 */,
    D29A93A318AB96440099C177 /* MyTarget3 */,
    D200F4B518AB968A00F58C21 /* MyTarget4 */,
    F5E8B1C016E64505006F22D4 /* MyTarget5 */,
    589FB35119114DED003D9350 /* MyTarget6 */,
);

W tym przypadku MyTarget3. Aby rozwiązać ten problem, proste wyszukiwanie tekstowe zastąpiło stary identyfikator zespołu nowym, poprawnym identyfikatorem. Problem rozwiązany.

Podsumowując , miejmy nadzieję, że Twoja sytuacja zostanie rozwiązana przy użyciu powyższych odpowiedzi, zamiast zagłębiać się w złożoność pliku projektu Xcode. Jeśli jednak tak się nie stanie, a błąd pokazuje nieprawidłowy identyfikator zespołu, warto sprawdzić, czy ten identyfikator zespołu nadal jest dostępny.


To też był mój problem. Nie jestem pewien, czy to przeze mnie, czy kogoś w moim rozproszonym zespole z własnymi profilami, certyfikatami itp. Raz źle umieściłem to do automatycznego scalania pliku pbxproj przez git. Ten zespół deweloperski, który zauważyłem, pochodzi z menu rozwijanego Zespół na karcie Ogólne w ustawieniach projektu. Całkowite usunięcie tej linii działało dla mnie, jeśli chcesz, aby zespół był ustawiony na Brak.
JoshA

mam to sprawdzić, mój DevelopmentTeam jest poprawny, w jaki sposób mogę uzyskać nowy identyfikator? instalacja certyfikatu ma ten sam DevelopmentTeam, który się w nim znajduje. proszę o pomoc
9to5ios

Działa jak marzenie. Po prostu zastąp identyfikator wyświetlany w błędzie na ten nad nim.
vanguard69

W moim przypadku musiałem kliknąć przycisk „Napraw” w Cel -> Ogólne -> Tożsamość
Ohad Schneider

9

Miałem dokładnie ten sam problem w rozwoju. Rozwiązałem to przez

  1. Przejdź do preferencji XCode, wyświetl szczegóły Apple ID i usuń plik obsługi administracyjnej, który narzeka.
  2. Przejdź do Dostęp do pęku kluczy i usuń certyfikat programistyczny powiązany z właśnie usuniętym plikiem obsługi administracyjnej.
  3. W Apple Member Center pobierz plik przygotowania oprogramowania, który właśnie usunąłeś lokalnie, kliknij dwukrotnie plik, aby upewnić się, że pojawia się w XCode.
  4. Pobierz certyfikat programistyczny, który właśnie usunąłeś lokalnie, i kliknij dwukrotnie, aby upewnić się, że pojawia się on w Dostępie do pęku kluczy.
  5. Teraz powinno być dobrze.

2
Ta odpowiedź musi znajdować się wyżej na stronie.
bkSwifty

8

Właśnie miałem ten problem z Jenkinsem.

Rozwiązaniem było skopiowanie certyfikatu i wklejenie go do pęku kluczy systemu, w przeciwnym razie Jenkins nie mógł odczytać certyfikatu.


7

Nie musisz usuwać wszystkich profili, aby rozwiązać ten problem,

Patrząc na profile moich urządzeń w Organizatorze, zauważyłem, że jeden z moich profili jest nieprawidłowy. Następnie przeszedłem do strony Certyfikaty deweloperów, identyfikatory i profile i wszystkie profile były aktywne, zielone i wyglądały dobrze, ale po kliknięciu edycji tego, który był nieprawidłowy na moim urządzeniu, zauważyłem, że pole wyboru na powiązanym koncie nie jest zaznaczone mimo że zaznaczono opcję Wybierz wszystko. Zaznaczyłem pole, aby powiązać profil z moim certyfikatem, pobrałem Profil i wszystko zostało naprawione.

Na stronie internetowej Profile kliknij „Edytuj” Na Twojej stronie internetowej Profile

Możesz zobaczyć, że nie ma skojarzonego certyfikatu, mimo że zaznaczona jest opcja „Wybierz wszystko”. Edytuj swój profil! [] [1]


Miałem właśnie usunąć cały mój profil obsługi administracyjnej i zacząć od szkicu, a potem znalazłem odpowiedź. Idealny kolego. Cały dzień zmarnowany z powodu tego problemu. Bardzo dziękuję za udostępnienie odpowiedzi.
Nilesh Kumar

4

Dla mnie ustawienie Projekt → Cele / [Twój projekt] → Ogólne → Zespół na „Brak” rozwiązało problem.


4

Przeszedłem przez absurdalną ilość czasu próbując rozwiązać jeden z tych problemów i zdecydowanie widzę, gdzie większość z tych odpowiedzi może być w niektórych przypadkach poprawna, moja sytuacja nie była aż tak niezwykła.

Próbowałem wdrożyć w sklepie z aplikacjami, aby przetestować za pomocą TestFlight. Poprzedni programista, który nie jest już częścią projektu ani firmy, stworzył Certyfikat dystrybucji IOS. Xcode próbował mi powiedzieć, że tak, certyfikat był w centrum członkowskim, ale koleś, nie możesz go całkowicie użyć, ponieważ nie jest twój. Nie miałem klucza prywatnego potrzebnego do podpisania go i żadna ilość odświeżeń, ponownych uruchomień, unieważnień nie pomogła mi. Do przesłania do sklepu z aplikacjami potrzebny jest programista i certyfikat dystrybucji.

Rozwiązaniem było utworzenie nowego certyfikatu dystrybucji produkcyjnej w centrum członkowskim przy użyciu nowego żądania podpisania z mojego pęku kluczy. Ten proces jest dobrze udokumentowany i opisany podczas tworzenia certyfikatu online. Po zakończeniu odśwież swoje konto w xcode, aby pobrać do pęku kluczy, a będziesz złoty. Mam nadzieję, że to komuś pomoże!


2

to może zabrzmieć dziwnie, ale jak dla mnie zadziałało ponowne uruchomienie komputera… Nie mogę wyjaśnić, dlaczego i co się stało, ale teraz działa. mam nadzieję, że to komuś pomoże


2

Dotarłem do tego wątku, gdy używam czystego skryptu kompilacji z wiersza poleceń / jenkinsa i nie chcę, aby jakikolwiek pojedynczy interfejs użytkownika / RDP był ręcznie konfigurowany dla środowiska integracji.

Po kilku godzinach spróbuj rozwiązać dokładnie ten sam problem za pomocą jenkinsa.
Klucz to „lista zabezpieczeń-pęku kluczy -s <nazwa_twoj_klucza>”

--- Długa historia ---
Używam skryptu w Jenkins do nadpisywania ustawień dla poszczególnych projektów (profil aprowizacji i tożsamości podpisywania)
Po aktualizacji do Xcode 7, muszę zmienić skrypt, dodać powyżej „listę-pęków kluczy” po utworzeniu breloki ”

Zaktualizowany skrypt tutaj .


1

nie musisz usuwać wszystkich swoich profili, miałem ten sam problem i naprawiłem go, instalując brakujące certyfikaty. Być może zapomniałeś zainstalować wymaganego certyfikatu dla profilu informacyjnego, którego używasz do podpisywania kodu.

  • upewnij się, że zainstalowałeś żądane certyfikaty (programowanie / dystrybucja) w pęku kluczy dla profilu udostępniania podpisywania kodu (tworzenie / dystrybucja).

1

Spróbuj zmienić identyfikator pakietu: Projekt -> Cele / [Twój projekt] -> Ogólne -> Identyfikator pakietu

Jeśli aplikacja została opublikowana w AppStore, XCode nie zezwala na tworzenie aplikacji z tym samym identyfikatorem pakietu.


1

Kierowanie na iOS 8 i 9 w Xcode 7. Mój profil deweloperski jest w porządku. Otrzymałem ten błąd podczas archiwizowania aplikacji w celu przesłania do sklepu z aplikacjami. Oto co zrobiłem:

Xcode> Preferencje> Konta> Wyświetl szczegóły. Obok dystrybucji iOS kliknij przycisk „Resetuj”. Spowoduje to unieważnienie dystrybucyjnego profilu informacyjnego, którego używasz (ponieważ zresetowałeś certyfikat dystrybucyjny), więc edytuj profil, aby uwzględnić nowo zresetowany certyfikat.

Upewnij się, że pobrałeś zarówno nowy certyfikat dystrybucyjny, jak i nowo edytowany dystrybucyjny profil informacyjny. Uruchom ponownie Xcode.


1

Upewnij się, że Twój certyfikat jest połączony z Twoim kluczem prywatnym :

Otwórz dostęp do pęku kluczy, logowanie, certyfikaty . Znajdź certyfikat na liście i sprawdź, czy jest poprawnie sparowany z Twoim kluczem prywatnym.

Jeśli certyfikat nie jest podpisany kluczem prywatnym, usuń go, przejdź do strony programisty Apple i utwórz nowy certyfikat. Czasami trzeba będzie cofnąć stare. Ten nowy certyfikat zostanie teraz poprawnie podpisany Twoim kluczem prywatnym.

Teraz, gdy masz nowy certyfikat, odtwórz potrzebne profile aprowizacji, które będą zawierać nowy certyfikat w procesie tworzenia.

Uwaga, gdy ktoś z Twojego zespołu zresetuje ten certyfikat za pomocą swojego klucza prywatnego, ten sam problem może pojawić się ponownie podczas procesu odświeżania. Nie jestem pewien, ale wydaje się, że każdy programista w zespole musi mieć własny certyfikat do dystrybucji.


1

Oczywiście ten problem ma różne przyczyny. :)

W moim przypadku mój login wygasł ... Rozwiązałem go po prostu:

XCode -> Preferencje -> Konto -> Apple ID -> Wybierz powiązany identyfikator i odnów logowanie ...

Mam nadzieję że to pomoże!


0

Przejdź do nawigatora problemów i sprawdź, czy Signing Identity:jest obecny w Twoim dostępie do pęku kluczy . Jeśli nie, pobierz .cerplik i dołącz go do pęku kluczy.


0

Po długim wyrywaniu włosów w końcu znalazłem problem Wybrałem zły certyfikat podczas tworzenia profilu Provisioning, wybierając właściwy, pomogło mi.W twoim przypadku, jeśli jest wiele, musisz spróbować wybrać jeden po drugim, aby rozwiązać ten problem.


0

Miałem ten niejednoznaczny błąd „Polecenie / usr / bin / codeign nie powiodło się z kodem zakończenia 1”, kiedy konfigurowałem nowe skrzynki Jenkinsa dla kompilacji iOS z Xcode 7.3, OSX 10.11.4.

W moim przypadku kilka rzeczy było dobrze: 1. Tak, dodałem moje certyfikaty do pęku kluczy, zarówno root Apple, jak i certyfikat zespołu. Tak, pobrałem poprawny profil udostępniania za pośrednictwem preferencji xcode. 3. tak, nawet wbudowany ręcznie w xcode.

Jednak w przypadku Jenkinsa prawdopodobnie wystąpił problem z buforowaniem w xcode. To, co zadziałało, to: 1. Wyjdź z GUI Xcode. 2. Wróć i raz uruchom kompilację ręcznie. Dopiero wtedy Xcode wyświetli monit o zezwolenie na autoryzację dostępu do pęku kluczy. 4.Jenkins ma pewne ustawienia, które mogą to naprawić, ale moje komputery są bezpieczne, więc klikam „zawsze zezwalaj xcode na dostęp do pęku kluczy”.


0

Po zainstalowaniu fastlane możesz utworzyć i zainstalować certyfikat rozwojowy przez

cert --development
sigh --development
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.