Certyfikat wygasł lub został unieważniony


159

Jakiś czas temu zacząłem kodować nową aplikację na iOS, po dłuższej przerwie nad nią znowu pracuję i mam prawie ukończoną.

Testuję to na symulatorze, ale kiedy próbowałem zainstalować go na moim iPhonie 6 (coś, co już zrobiłem w przeszłości), pojawił się błąd informujący mnie, że nie można zainstalować mojej aplikacji, ponieważ wygasł certyfikat użyty do podpisania tej aplikacji lub został odwołany.

Próbowałem wielu rzeczy:

  1. Usunąłem wszystkie certyfikaty i profile obsługi administracyjnej z xcode, pęku kluczy i programisty Apple i pozwoliłem xcode utworzyć nowe
  2. Usunąłem xcode i wykonałem cały proces od początku

Ale to nie rozwiązało mojego problemu.

Masz jakiś pomysł, co może być problemem?


2
prawdopodobnie możesz być ofiarą tego
szesnastkowo

po naprawieniu problemu nadal nie masz szczęścia
użytkownik6218736

1
bez względu na to, co otrzymam: Certyfikat użyty do podpisania „Nazwa mojej aplikacji” wygasł lub został unieważniony. Do podpisania i zainstalowania aplikacji wymagany jest zaktualizowany certyfikat.
user6218736

1
czy masz poprawną datę i godzinę systemową?
szesnastkowo

Właśnie usunąłem swoje konto Apple z Xcode, a także usunąłem klucze z pęku kluczy i dodałem je ponownie, działaj jak magia. Jednak próbowałem głównie innych kroków, ale nie zadziałały.
Ravi

Odpowiedzi:


279

Edycja: ta odpowiedź nie działa dla Xcode 10 i nowszych. Zobacz odpowiedź turkenh.


Rozwiązanie

Przede wszystkim wyczyść projekt, przytrzymując Shift (⇧) + Command (⌘) + K lub wybierz Produkt > Wyczyść

Następnie:

  1. Przejdź do menu Xcode > Preferencje

  2. Wybierz opcję Konta > Zespół > Wyświetl szczegóły

  3. Wybierz dowolny profil obsługi z listy profili obsługi

  4. Kliknij prawym przyciskiem myszy> Wybierz Pokaż w Finderze . Następnie zobaczysz wszystkie listy profili obsługi administracyjnej

  5. Wybierz całą listę obsługi administracyjnej z folderu i przenieś ją do kosza

  6. Pobierz wszystkie profile obsługi administracyjnej, klikając Pobierz wszystko poniżej list profili obsługi administracyjnej.

Teraz biegnij ponownie i powinno działać!


2
Miło to słyszeć! :)
Md.Riduanul Islam

2
Tak, masz rację. Automatyczne udostępnianie Xcode jest preferowanym sposobem kodowania aplikacji do podpisywania kodu zarówno podczas programowania, jak i dystrybucji. Innymi słowy, jest to zalecane podejście do konfigurowania projektów zarówno dla kont firmowych, jak i deweloperskich w sklepie App Store.Sprawdź poniższe łącze, aby uzyskać szczegółowe informacje: developer.apple.com/library/ios/qa/qa1814/_index.html
MD .Riduanul Islam

2
Life Saver! Dzięki!
Joel

7
i nie mam żadnego zespołu / zobacz szczegóły
user924,

2
a to konta, a nie konto
user924,

80

Edycja: ta odpowiedź nie działa dla Xcode 10 i nowszych. Zobacz odpowiedź turkenh.


Doświadczyłem tego problemu i udało mi się znaleźć odpowiedź.

Odpowiedź, z której to pochodzi, można znaleźć tutaj .

Oto, co musisz zrobić:

  1. Idź do Preferencje-> Konta
  2. Naciśnij swoje konto
  3. Kliknij „Wyświetl szczegóły”
  4. Kliknij „Pobierz wszystko” w lewym dolnym rogu.

Te kroki rozwiązały problem za mnie.


1
Pracował. Dzięki Anthony
GMHSJ

7
zobacz szczegóły - nie ma takiego przycisku
user924

55

Dla tych, którzy nie mogą znaleźć przycisku „wyświetl szczegóły” w Konto> Zespół> Wyświetl szczegóły , oto jak rozwiązałem ten problem w Xcode 10 :

  1. Usuń wszystkie profile aprowizacji w ~ / Library / MobileDevice / Provisioning \ Profiles /
  2. Wyczyść projekt, przytrzymując Shift (⇧) + Command (⌘) + K lub wybierając Produkt> Wyczyść (może być oznaczony jako „Wyczyść folder kompilacji” )
  3. Uruchom ponownie Xcode

i spróbuj ponownie.


1
Pomogłem mi. Używam Fastlane i musiałem usunąć wszystkie profile bezpośrednio z ~ / Library / MobileDevice / Provisioning \ Profiles / Wyczyść projekt i ponownie zainstalować profile z dopasowaniem Fastlane ...
Vladimír Slavík

1
Dla mnie na Xcode 11 wystarczy krok 2 za każdym razem, zanim uruchomię aplikację
Tahan

Naprawdę bardzo pomocny. Dzięki stary!
Harsh Chaurasia

34

Miałem trochę inne rozwiązanie. Mogło to pochodzić z aktualizacji lub z mojego konkretnego przypadku użycia.

Korzystanie z Xcode 7.3.1

Używam systemu udostępniania plików (dropbox) do programowania na dwóch różnych komputerach. Użycie tego Download Allrozwiązania nie pomogło mi.

Korzystając z powyższego linku, skorzystałem z porady

usuń wszystkie profile w ~ / Library / MobileDevice / Provisioning Profiles

(co jest skrajnym środkiem, ale Xcode powinien teraz pobrać to, czego potrzebujesz)

Xcode poprosił o aktualizację.

Nadal mam problem podczas przełączania się między programowaniem na różnych komputerach. Przedstawia następujące ostrzeżenie / awarię:

Uprawnienie tej aplikacji do identyfikatora aplikacji nie jest zgodne z uprawnieniem do zainstalowanej aplikacji. Te wartości muszą być zgodne, aby uaktualnienie było dozwolone.

Rozwiązaniem tego problemu jest usunięcie elementu programistycznego z urządzenia, a następnie ponowne zainstalowanie.


To zadziałało dla mnie. W XCode nie pojawiały się żadne profile obsługi administracyjnej, więc nie mogłem ich stamtąd usunąć.
henrikmerlander

Co dzieje się z usuniętymi certyfikatami? Czy nadal będę mógł prowadzić te projekty? (to zadziałało dla mnie, chociaż mam te pytania)
żel

@gel usunięte certyfikaty powinny zostać ponownie załadowane przez Xcode, kiedy ich potrzebujesz
bshirley

25

Proste „Wyczyść” ( Shift (⇧) + Command (⌘) + K ) rozwiązane


Jestem fanem czystej i przejrzystej konstrukcji, ale nigdy nie myślałem o zrobieniu tego w tym numerze! Dziękuję! :) Wykonaj Command + AltOption + Shift + K, aby wyczyścić kompilację, aby się upewnić.
Glenn

To jest dobre (robię to za każdym razem), ale niewystarczające. Usunięcie wszystkich profili aprowizacji w ~ / Library / MobileDevice / Provisioning \ Profiles / działało jednak dla mnie.
Raphael Pinel

11

Znaleziono inny przypadek, który powoduje krwawy Certificate has either expired or has been revokedbłąd Xcode 9. Jeśli próbujesz podpisać ważny certyfikat, ale masz inny odwołany certyfikat w tym samym zespole w pęku kluczy, Xcode zgłasza ten błąd. Aby sprawdzić, czy certyfikat został unieważniony, zobacz Xcode -> Preferences -> Accounts -> Your Apple ID -> Your Team -> Manage Certificates. Usunięcie unieważnionego certyfikatu Keychain Accessrozwiązuje ten problem. Wygląda na inny błąd podpisywania kodu w Xcode.


To jest ten, który działa dla mnie. Sam znalazłem rozwiązanie, ale cieszę się, że jest już udostępnione
Gee.E

3

W Xcode 8

  1. Idź do Preferencje-> Konta
  2. Naciśnij swoje konto
  3. Kliknij „Wyświetl szczegóły”
  4. Usuń potrzebny profil
  5. Kliknij „Pobierz wszystko” w lewym dolnym rogu.

To rozwiązało problem za mnie, z wyjątkiem tego, że musiałem nacisnąć „Pobierz wszystko” jak 3 razy z powodu przypadkowych komunikatów o błędach.
sudo

2

-Open Keychain - Sprawdź wszystkie certyfikaty, wybierając je. - Sprawdź status, czy jest ważny, czy nie. -Jeśli certyfikat nie jest ważny, kliknij go prawym przyciskiem myszy i usuń ten certyfikat


2

Nowy problem z Xcode 8, który działał dla mnie, to wyłączenie nowego pola wyboru "automatycznie zarządzaj podpisywaniem" na karcie Ogólne dla celu, a następnie włączenie go ponownie.

Spowoduje to zainicjowanie kreatora pokładowego, który poprawnie skonfiguruje rzeczy dla Xcode 8.


To zadziałało dla mnie, ale nie do czasu ponownego uruchomienia komputera Mac, w którym to momencie (przy uruchomieniu XCode) pojawiło się okno dialogowe oferujące opcję unieważnienia certyfikatu ... Zrobiłem, a następnie włączyłem automatyczne zarządzanie podpisami (które nie zaznaczałem) przed ponownym uruchomieniem). +1 za brak konieczności usuwania żadnych certyfikatów!
kwishnu

2

To, co w końcu zadziałało, to zamknięcie i ponowne uruchomienie mojego MacBooka po pobraniu najnowszych profili obsługi.


U mnie też działa. Ale zastanawiam się, jaki jest rzeczywisty problem.
umairhhhs

2

Właśnie odznaczyłem opcję „Automatycznie zarządzaj podpisywaniem i sprawdziłem to ponownie, wybierając zespół i zadziałało wprowadź opis obrazu tutaj


2

Miałem ten problem i wyglądało to na błąd w nowym systemie kompilacji 10.x xcode .

  1. Idź do Plik> Ustawienia projektu Zmień system kompilacji do użycia Legacy build system.

  2. Dokładnie wyczyść projekt, przytrzymując Option (⎇) + Shift (⇧) + Command (⌘) + K lub przytrzymując Option (⎇) i wybierając Produkt> Wyczyść folder kompilacji

  3. Uruchom na urządzeniu


2

W Xcode 11 .3.1 interfejs zmienił się w stosunku do wszystkich obecnych odpowiedzi.

  1. Przejdź do menu „Xcode”> Preferencje> Konta.
  2. Wybierz odpowiedni identyfikator Apple ID po lewej stronie projektu.
  3. Jeśli profil jest nadal aktywny, kliknij „Zarządzaj certyfikatami”.
  4. Jeśli są jakieś odwołane certyfikaty, kliknij prawym przyciskiem myszy odwołane certyfikaty i wybierz „Usuń certyfikat”. Na załączonym zrzucie ekranu certyfikat zaznaczony na czerwono należy usunąć.

Zrzut ekranu unieważnionego certyfikatu

Usunięcie najnowszego certyfikatu z datą utworzenia powinno odświeżyć certyfikat, ale zalecane jest usunięcie wszystkich odwołanych certyfikatów.

Po usunięciu odwołanych certyfikatów powinno być możliwe odbudowanie aplikacji.


1

W końcu powyższy krok czyszczenia i odbudowy jest również czynnikiem.


1

Kiedy ani usuwanie i ponowne pobieranie profili, ani „Wyczyść” nie pomagają:

Preferencje> Konta> Apple ID> wybierz swoje konto > wybierz swój zespół > Wyświetl szczegóły ...> zresetuj swoją tożsamość podpisu (w moim przypadku iOS Development).

To zawsze działało dla mnie.


mogę potwierdzić, że to zadziałało, gdy co druga odpowiedź / rozwiązanie zawiodło, dodatkowo
pobrałem

3
Czy nie ma pozycji „Wyświetl szczegóły” ani „Zresetuj swoją tożsamość podpisu”
gman

@gman, masz rację, ponownie zmienili interfejs użytkownika. Teraz nie wiem, jak to zrobić.
Alexander Sosnovshchenko

1

1. Zmień ustawienie synchronizacji komputera Mac na automatyczne (Otwórz preferencje dotyczące daty i czasu, sprawdź, czy ustaw datę i godzinę automatycznie).

2. Następnie przejdź do kodu X, wyczyść i uruchom kod.

3. Jeśli to się nie powiedzie, wyloguj się ze swojego profilu Apple i usuń wszystkie automatycznie utworzone profile obsługi administracyjnej w XCode - Preferencje i przenieś wszystkie profile obsługi administracyjnej do kosza i pobierz jako nowy plik, a następnie zaloguj się ponownie i uruchom kod.


1

Jeśli masz cel testu hosta, który jest uruchamiany na urządzeniu, upewnij się, że używa on tej samej tożsamości podpisywania kodu, której używa cel aplikacji. W przeciwnym razie będziesz musiał wyczyścić aplikację, przełączając się między testowaniem a debugowaniem aplikacji.

Miałem ten problem w Xcode 11.4.1, kiedy wyłączyliśmy podpisywanie kodu w naszym celu testu hosta jako ulepszenie czasu kompilacji. Po ponownym włączeniu podpisywania kodu na potrzeby testu hosta problem nie występował już podczas przełączania między uruchomieniem obiektu docelowego testu hosta a aplikacją!


0

zmień nazwę katalogu, nie zawiera przecinka dziesiętnego i 0 (zero).

w ten sposób, rozwiązuję to.


0

Żadne z dotychczas dostarczonych rozwiązań nie działało (chociaż wszystkie są poprawne), a usunięcie projektu Xcode z dysku i ponowne sklonowanie go z repozytorium rozwiązało to za mnie.


0

Czasami w Xcode 8 możesz znaleźć się w cyklu unieważnij-regeneruj, w którym pozwolisz Xcode 8 "naprawić" certyfikaty i udostępnianie, a następnie Xcode znajdzie nowe / ponownie wygenerowane certyfikaty również jako nieważne i wrócisz do unieważnienia, i to się dzieje.

W takich przypadkach sprawdź czas MacOS! Jeśli ustawisz inny czas, a nie aktualny czas, nowy certyfikat może zawsze „jeszcze nie” być ważny.


0

To nie jest duży problem, z którym miałem do czynienia. Po prostu wyczyść projekt i zrestartuj swój xcode !! Mam nadzieję, że to będzie działać dla Ciebie! To działa na mnie. :)

Lub Przede wszystkim wyczyść projekt, przytrzymując Shift (⇧) + Command (⌘) + K lub wybierz Produkt> Wyczyść

Następnie

Przejdź do menu XCode> Preferencje

Wybierz Konto> Zespół> Wyświetl szczegóły

Wybierz dowolny profil obsługi z listy profili obsługi

Kliknij prawym przyciskiem myszy> Wybierz Pokaż w Finderze . Następnie zobaczysz wszystkie listy profili obsługi administracyjnej

Wybierz całą listę tymczasową z folderu i przenieś ją do kosza

Pobierz wszystkie profile obsługi administracyjnej, klikając Pobierz wszystko poniżej list profili obsługi administracyjnej.

Teraz uruchom ponownie i powinno działać!


0

Z Xcode Version 10.1rozwiązałem tymi krokami:

  1. Przejdź do Xcode, Preferencesa następnie wybierz Accountskartę
  2. W sekcji kont kliknij koło zębate w lewym dolnym rogu okna, a następnie kliknij Export Apple ID and Code Signing Assets... eksportuj to do pliku, na przykładTest.developerprofile
  3. Usuń profil, którego używasz
  4. Klikając ponownie na koło zębate, wybierz Import Apple ID and Code Signing Assets...i wybierz wcześniej wyeksportowany plikTest.developerprofile
  5. Teraz wykonaj a Clean( Shift (⇧) + Command (⌘) + K ) i Build( Command (⌘) + B )
  6. Uruchomić ponownie

0

Miałem ten problem po zmianie konta e-mail.

Po wypróbowaniu tak wielu możliwych rozwiązań, jedynym, które zadziałało, było usunięcie certyfikatu utworzonego w tym dniu z mojego konta programisty Apple . (Nie był to jedyny certyfikat na moim koncie) Wygląda na to, że nowy certyfikat został utworzony automatycznie i był w konflikcie z głównym.


0

Mam ten sam problem. Rozwiązałem po wyczyszczeniu projektu (Shift (⇧) + Command (⌘) + K), wyjdź z Xcode i otwórz ponownie.


0

Korzystanie z Xcode 10.3

Wykonaj następujące kroki:

  1. Przejdź do https://developer.apple.com
  2. Śledź Account> Certificates, Identifiers & Profiles>Devices
  3. Znajdź swój iPhone na liście i kliknij go. Otworzy się strona szczegółów
  4. Wyłącz, a następnie włącz
  5. Idź do Xcodewyboru iPhone i uruchom go

Nie zapomnij, aby przejść Settings> General> Device Managementzaufać konto programisty



0

Czasami „Identyfikator pakietu” w Xcode zmienia się z powodu pewnych rzeczy, które utworzyłeś. Upewnij się, że identyfikator pakietu zdefiniowany na koncie Apple Developer jest dokładnie taki sam, jak ten w Xcode.


0

Na wypadek, gdyby to komukolwiek pomogło: Xcode 11.x Odwołałem również (usunąłem) certyfikat na koncie App Developer. Potem pomyślałem, że usunąłem również certyfikat w dostępie do pęku kluczy, ale nadal otrzymywałem komunikaty o błędach podczas próby przesłania aktualizacji aplikacji do AppStore.

Dowiedziałem się wtedy, że są dwa osobne miejsca w dostępie do pęku kluczy, gdzie w jednym przechowywany jest certyfikat (dość zabawny pod kluczami, po wybraniu logowania w pękach kluczy), aw drugim klucz prywatny (oczywiście pod certyfikatami pozycji w breloczki). Upewniłem się, że oba zostały usunięte i teraz wszystko jest w porządku.

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.