Il certificato è scaduto o è stato revocato


159

Qualche tempo fa ho iniziato a scrivere una nuova app iOS, dopo una lunga pausa da essa, ci sto lavorando di nuovo e l'ho quasi completata.

L'ho provato sul simulatore ma quando ho provato a installarlo sul mio iPhone 6 (cosa che ho già fatto in passato) ho ricevuto un errore che mi diceva che la mia app non poteva essere installata poiché il certificato utilizzato per firmare questa app era scaduto o è stato revocato.

Ho provato molte cose:

  1. Ho eliminato tutti i certificati e i profili di provisioning da xcode, keychain e apple developer e ho lasciato che xcode ne creasene di nuovi
  2. Ho eliminato xcode e fatto tutto il processo dall'inizio

Ma questo non ha risolto il mio problema.

Qualche idea di quale potrebbe essere il problema?


2
probabilmente potresti essere una vittima di questo
heximal

dopo aver
risolto

1
qualunque cosa ottenga: il certificato utilizzato per firmare "Il mio nome app" è scaduto o è stato revocato. È richiesto un certificato aggiornato per firmare e installare l'applicazione.
user6218736,

1
hai l'ora della data di sistema corretta?
Heximal,

Ho appena eliminato il mio account Apple da Xcode e anche le chiavi da Keychain e le aggiungo di nuovo, Funziona come una magia. Tuttavia, ho provato principalmente altri passaggi ma non ha funzionato per me.
Ravi,

Risposte:


279

Modifica: questa risposta non funziona per Xcode 10 e versioni successive. Vedi la risposta di turkenh.


Soluzione

Prima di tutto, pulisci il progetto tenendo premuto Maiusc (⇧) + Comando (⌘) + K o Seleziona prodotto > Pulisci

Poi:

  1. Vai al menu Xcode > Preferenze

  2. Seleziona Account > Team > Visualizza dettagli

  3. Selezionare qualsiasi profilo di provisioning dall'elenco Profili di provisioning

  4. Tasto destro del mouse> Seleziona Mostra nel Finder . Quindi vedrai tutti gli elenchi dei profili di provisioning

  5. Seleziona tutto l'elenco di provisioning dalla cartella e spostalo nel cestino

  6. Scarica tutti i profili di provisioning facendo clic su Scarica tutto sotto gli elenchi dei profili di provisioning.

Ora, corri di nuovo e dovrebbe funzionare!


2
È bello sentirlo! :)
Md.Riduanul Islam,

2
Si hai ragione. Il provisioning automatico di Xcode è il modo preferito per codificare le app di firma durante lo sviluppo e la distribuzione. In altre parole, questo è l'approccio consigliato per l'impostazione dei progetti per gli account degli sviluppatori sia aziendali sia dell'App Store. Per i dettagli
consulta

2
Salvavita! Grazie!
Gioele il

7
e non ho alcun team / dettagli di visualizzazione
user924,

2
ed è account non account
user924,

80

Modifica: questa risposta non funziona per Xcode 10 e versioni successive. Vedi la risposta di turkenh.


Avevo riscontrato questo problema ed ero in grado di trovare una risposta.

La risposta da cui proviene può essere trovata qui .

Ecco cosa devi fare:

  1. Vai su Preferenze-> Account
  2. Premi sul tuo account
  3. Fai clic su "Visualizza dettagli"
  4. Fai clic su "Scarica tutto" nell'angolo in basso a sinistra.

Questi passaggi hanno risolto il problema per me.


1
Lavorato. Grazie Anthony
GMHSJ

7
visualizzare i dettagli - nessun pulsante simile
user924

55

Per coloro che non riescono a trovare il pulsante "Visualizza dettagli" su Account> Team> Visualizza dettagli , ecco come ho risolto questo problema su Xcode 10 :

  1. Elimina tutti i profili di provisioning in ~ / Library / MobileDevice / Provisioning \ Profiles /
  2. Pulisci il progetto tenendo premuto Maiusc (⇧) + Comando (⌘) + K o selezionando Prodotto> Pulisci (potrebbe essere etichettato "Clean Build Folder" )
  3. Riavvia Xcode

e prova ancora.


1
Mi ha aiutato Sto usando Fastlane e ho dovuto eliminare tutti i profili direttamente da ~ / Library / MobileDevice / Provisioning \ Profiles / Pulire il progetto e reinstallare i profili con Fastlane Match ...
Vladimír Slavík

1
Per me su Xcode 11 ha solo bisogno del passaggio 2 ogni volta prima di eseguire l'app
Tahan

Davvero molto utile. Grazie compagno!
Dura Chaurasia,

34

Ho avuto una soluzione leggermente diversa. Potrebbe essere stato dagli aggiornamenti o dal mio caso d'uso particolare.

Utilizzo di Xcode 7.3.1

Sto usando un sistema di condivisione file (dropbox) per sviluppare su due macchine diverse. L'uso della Download Allsoluzione non l'ha risolto per me.

Seguendo il link sopra, ho seguito il consiglio di

elimina tutti i profili in ~ / Library / MobileDevice / Provisioning Profiles

(che è una misura estrema, ma Xcode ora dovrebbe scaricare ciò di cui hai bisogno)

Xcode ha richiesto di aggiornarsi.

Ho ancora un problema quando si passa tra lo sviluppo su macchine diverse. Presenta il seguente avviso / errore:

Il diritto all'identificatore di applicazione dell'applicazione non corrisponde a quello dell'applicazione installata. Questi valori devono corrispondere per consentire un aggiornamento.

La soluzione a questo problema è eliminare l'elemento di sviluppo dal dispositivo, quindi verrà reinstallato.


Questo ha funzionato per me. In XCode non venivano visualizzati profili di provisioning, quindi non sono riuscito a rimuoverli da lì.
henrikmerlander,

Cosa succede ai certificati cancellati? Sarei ancora in grado di gestire quei progetti? (ha funzionato per me anche se ho queste domande)
Gel

@gel i certificati cancellati dovrebbero essere ricaricati da Xcode quando ne hai bisogno
bshirley

25

Un semplice "Clean" ( Shift (⇧) + Command (⌘) + K ) risolto per me


Sono un fan della build pulita e pulita, ma non ho mai pensato di farlo in questo numero! Grazie! :) Per favore, fai Comando + AltOption + Maiusc + K per pulire la tua build solo per essere sicuro.
Glenn,

Questo è buono (lo faccio ogni volta) ma non abbastanza. L'eliminazione di tutti i profili di provisioning in ~ / Library / MobileDevice / Provisioning \ Profiles / ha funzionato per me.
Raphael Pinel,

11

Trovato un altro caso che si traduce in un Certificate has either expired or has been revokederrore sanguinoso in Xcode 9. Se stai provando a firmare con un certificato valido ma hai un altro certificato revocato nella stessa squadra sul tuo portachiavi, Xcode genera questo errore. Per verificare se è stato revocato il certificato, vedere Xcode -> Preferences -> Accounts -> Your Apple ID -> Your Team -> Manage Certificates. L'eliminazione del certificato revocato con Keychain Accessrisolve questo problema. Sembra un altro bug del segno di codice in Xcode.


Questo è quello che funziona per me. Ho trovato la soluzione da solo, ma sono felice che sia già condivisa
Gee.E

3

In Xcode 8,

  1. Vai su Preferenze-> Account
  2. Premi sul tuo account
  3. Fai clic su "Visualizza dettagli"
  4. Elimina il profilo di cui hai bisogno
  5. Fai clic su "Scarica tutto" nell'angolo in basso a sinistra.

Ciò ha risolto il problema per me, tranne per il fatto che ho dovuto premere "Download All" come 3 volte a causa di messaggi di errore casuali.
sudo,

2

-Open Keychain - Controlla tutti i certificati selezionandolo. - Controlla lo stato se è valido o meno. -Se il certificato non è valido, fai clic destro su di esso ed elimina quel certificato


2

Un nuovo problema con Xcode 8, quello che ha funzionato per me è stato disattivare la nuova casella di controllo "gestisci automaticamente la firma" nella scheda Generale per la destinazione, quindi riaccenderla.

Questo avvia una procedura guidata integrata che imposta correttamente le cose per Xcode 8.


Questo ha funzionato per me, ma non fino a quando non ho riavviato anche il mio Mac, a quel punto (all'avvio di XCode) una finestra di dialogo mi ha offerto la possibilità di revocare un certificato ... L'ho fatto, quindi ho attivato la gestione della firma automatica (che avevo deselezionato prima di riavviare). +1 per non dover eliminare alcun certificato!
kwishnu,

2

Quello che alla fine ha funzionato per me è stato quello di spegnere e riavviare il mio MacBook, dopo aver scaricato i profili di provisioning più recenti.


Funziona anche per me. Ma mi chiedo, qual è il vero problema.
Umairhhh

2

Ho appena deselezionato "Gestisci automaticamente la firma e ho verificato di nuovo selezionando il team e ha funzionato per me inserisci qui la descrizione dell'immagine


2

Ho avuto questo problema e sembrava un bug nel sistema 10.x New build di xcode .

  1. Vai su File> Impostazioni progetto Modifica il sistema di generazione da utilizzare Legacy build system.

  2. Pulisci a fondo il progetto tenendo premuto Opzione (⎇) + Maiusc (⇧) + Comando (⌘) + K o tenendo premuto Opzione (⎇) e selezionando Prodotto> Pulisci cartella build

  3. Esegui su un dispositivo


2

In Xcode 11 .3.1, l'interfaccia è cambiata rispetto a tutte le risposte correnti.

  1. Vai al menu "Xcode"> Preferenze> Account.
  2. Seleziona l'ID Apple corretto sulla sinistra per il progetto.
  3. Se il profilo è ancora attivo, fai clic su "Gestisci certificati".
  4. Se sono presenti certificati revocati, fai clic con il pulsante destro del mouse sui certificati revocati e su "Elimina certificato". Nella schermata allegata, il certificato racchiuso in rosso deve essere eliminato.

Schermata del certificato revocato

L'eliminazione dell'ultimo certificato "Data di creazione" dovrebbe aggiornare il certificato, ma si consiglia di eliminare tutti i certificati revocati.

Dopo aver eliminato i certificati revocati, dovresti essere in grado di ricostruire l'app.


1

Dopo tutto il passo sopra pulito e anche la ricostruzione è anche un fattore.


1

Quando né elimini e riscarichi i profili, né "Pulisci" mi aiuta a fare questo:

Preferenze> Account> ID Apple> seleziona il tuo acc > seleziona il tuo team > Visualizza dettagli ...> ripristina l'identità della firma (sviluppo iOS nel mio caso).

Questo ha sempre funzionato per me.


posso confermare che questo ha funzionato per me quando ogni altra risposta / soluzione ha fallito, inoltre ho anche scaricato tutti i profili
hajn

3
Non viene visualizzato "Visualizza dettagli" e non "Ripristina identità firma"
gman

@gman, hai ragione, hanno cambiato di nuovo l'interfaccia utente. Ora non sono sicuro di come farlo.
Alexander Sosnovshchenko,

1

1.Cambia l'impostazione del tuo Mac Timing su Automatico (Apri data e ora Preferenze Controlla per impostare automaticamente la data e l'ora).

2.Dopo quello vai al tuo codice X, pulisci ed esegui il codice.

3.In caso contrario, disconnettersi dal proprio profilo Apple ed eliminare tutti i profili di provisioning creati automaticamente in XCode - Preferenze e spostare tutti i profili di provisioning nel cestino e scaricarli come nuovo file, quindi accedere nuovamente ed eseguire il codice.


1

Se si dispone di un target di test host eseguito sul dispositivo, assicurarsi che utilizzi la stessa identità di firma codice utilizzata dal target dell'app. Altrimenti dovrai pulire quando passi dal test al debug dell'app.

Ho riscontrato questo problema in Xcode 11.4.1 quando abbiamo disattivato la firma del codice nel nostro target di test host come miglioramento del tempo di costruzione. Dopo aver riattivato il codice di accesso per il test host, non ho più riscontrato questo problema quando si passa dall'esecuzione del target test host all'applicazione!


0

rinominare il catalogo, non contenere il punto decimale e 0 (zero).

così, lo risolvo.


0

Nessuna delle soluzioni fornite finora ha funzionato (sebbene siano tutte corrette) e l'eliminazione del progetto Xcode dal disco e la ri-clonazione dal repo lo hanno risolto per me.


0

A volte, in Xcode 8 potresti ritrovarti in un ciclo di revoca-rigenerazione, in cui permetti a Xcode 8 di "correggere" i certificati e il provisioning, quindi Xcode trova anche i nuovi certificati rigenerati non validi, e torni a revocare, e continua a succedere.

In questi casi, controlla l'ora di MacOS! Se lo hai impostato su un'altra ora, non sull'ora corrente, il nuovo certificato potrebbe sempre essere "non ancora" valido.


0

Non è un grosso problema che ho affrontato. Basta pulire il progetto e riavviare il Xcode !! Spero che funzionerà per te! Funziona per me. :)

Oppure Prima di tutto pulire il progetto tenendo premuto Maiusc (⇧) + Comando (⌘) + K o Seleziona prodotto> Pulisci

Poi

Vai al menu XCode> Preferenze

Seleziona Account> Team> Visualizza dettagli

Selezionare qualsiasi profilo di provisioning dall'elenco Profili di provisioning

Tasto destro del mouse> Seleziona Mostra nel Finder . Quindi vedrai tutti gli elenchi dei profili di provisioning

Seleziona tutto l'elenco di provisioning dalla cartella e spostalo nel cestino

Scarica tutti i profili di provisioning facendo clic su Scarica tutto sotto gli elenchi dei profili di provisioning.

Ora, corri di nuovo e dovrebbe funzionare!


0

Con Xcode Version 10.1ho risolto con questi passaggi:

  1. Vai a Xcode, Preferencese selezionare la Accountsscheda
  2. Nella sezione degli account, fai clic sull'ingranaggio in basso a sinistra nell'angolo della finestra, quindi fai clic Export Apple ID and Code Signing Assets...sull'esportazione in un file, ad esempioTest.developerprofile
  3. Elimina il profilo che stai utilizzando
  4. Facendo nuovamente clic sull'ingranaggio selezionare Import Apple ID and Code Signing Assets...e selezionare il file precedentemente esportatoTest.developerprofile
  5. Ora esegui un Clean( Shift (⇧) + Command (⌘) + K ) e un Build( Command (⌘) + B )
  6. Esegui di nuovo

0

Ho avuto questo problema dopo aver cambiato il mio account e-mail.

Dopo aver provato tante possibili soluzioni, l'unica che ha funzionato è stata quella di eliminare il certificato creato in quel giorno dal mio account sviluppatore Apple . (Non era l'unico certificato nel mio account) Sembra che un nuovo certificato sia stato creato automaticamente ed era in conflitto con quello principale.


0

Ho lo stesso problema. Ho risolto dopo aver pulito il progetto (Maiusc (⇧) + Comando (⌘) + K), uscire da Xcode e riaprirlo.


0

Usando Xcode 10.3

Segui questi passi:

  1. Vai a https://developer.apple.com
  2. Segui Account>Certificates, Identifiers & Profiles >Devices
  3. Trova il tuo iPhone dall'elenco e fai clic su di esso. Si aprirà la pagina dei dettagli
  4. Disabilita e quindi Abilita
  5. Vai a Xcodeselezionare il tuo iPhone ed eseguilo

Non dimenticate di andare Settings> General> Device Managementa fidarsi l'account sviluppatore



0

A volte il "Bundle Identifier" in Xcode sta cambiando a causa di alcune cose che hai fatto. Assicurati che l'identificatore del bundle definito nel tuo account sviluppatore Apple sia esattamente uguale a quello in Xcode.


0

Nel caso in cui aiuti chiunque: Xcode 11.x Ho revocato anche (eliminato) un certificato nell'account Developer App. Quindi ho pensato di aver eliminato anche il certificato nell'accesso Portachiavi ma ho continuato a ricevere messaggi di errore quando ho cercato di caricare un aggiornamento dell'app sull'App Store.

Ho poi scoperto che ci sono due posti separati nell'accesso al portachiavi, in cui uno è conservato (abbastanza divertente sotto le chiavi, una volta selezionato l'accesso nei portachiavi) e nell'altro la chiave privata (ovviamente sotto i certificati oggetto in Portachiavi). Mi sono assicurato che entrambi fossero eliminati e ora tutto va bene.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.