L'identità utilizzata per firmare l'eseguibile non è più valida


173

Ho un'applicazione di cui sto eseguendo il debug su iPad. 2 giorni fa volevo eseguire il debug di una stessa applicazione aggiornata ma ho riscontrato questo errore.

L'identità utilizzata per firmare l'eseguibile non è più valida.

Verificare che l'orologio del dispositivo sia impostato correttamente e che il certificato di firma non sia scaduto.

(0xE8008018).

Non ho ancora il certificato Developer iPhone, ma ho eseguito il debug di questo gioco una volta.

Risposte:


94

Prova a riavviare XCode. Ha funzionato per me.


1
Funziona anche per me. comando + Q per uscire da XCode e riavviare. Saluti!
Joey,

9
ho dovuto eliminare tutti i certificati / profili manualmente e anche aggiornare tutto sul portale per sviluppatori Apple e scaricarli di nuovo, ma ha funzionato.
benka,

7
Mi è appena successo con l'ultimo 6.1. Il riavvio di XCode e l'eliminazione dei "dati derivati" del progetto non hanno fatto alcuna differenza. Detesto questo brutto ambiente di sviluppo un po 'datato.
Mike Gledhill,

81
Il riavvio di Xcode non ha funzionato per me. Ciò che è stato risolto per me è stato andare su Account in Xcode (nelle preferenze), Dettagli per il mio account sviluppatore, quindi fare clic sull'icona di aggiornamento in basso a sinistra. Ciò ha caricato un nuovo profilo di provisioning del team, che apparentemente era necessario ... sì. Non dovremmo avere a che fare con questa Apple. Microsoft faceva queste cose agli sviluppatori, non andarci.
Eskim0

2
@ Eskim0 La tua correzione ha funzionato per me dopo che avevo riscontrato lo stesso problema dopo la conversione da un account personale a un account aziendale.
Rogare,

234

Né il riavvio di Xcode né il riavvio del mio Mac hanno aiutato.

Soluzione all'interno di Xcode:

  1. In Xcode, vai su Preferenze -> Account -> Visualizza dettagli
  2. Premi il simbolo + e seleziona Sviluppo iOS
  3. Premi il pulsante di aggiornamento nell'angolo in basso a sinistra (chiamato Download allin Xcode 7)

PS:

  • A volte può anche essere utile eliminare i profili di provisioning non validi: fare clic con il pulsante destro del mouse -> sposta nel cestino
  • Ho visto questo errore esattamente un anno dopo essermi registrato come sviluppatore Apple.

14
Grazie! Questo ha funzionato per me, tranne per il fatto che non avevo bisogno del passaggio 2.
sup

3
Grazie! Probabilmente questo problema si verifica una volta all'anno dopo la data di iscrizione.
Sergey Neskoromny,

3
Grazie! Ho riattivato la mia iscrizione e ho affrontato questo problema. Questo mi ha aiutato.
Nhon Nguyen,

1
Risposta corretta al giorno d'oggi
Fede Cugliandolo,

1
Per me ha aiutato solo a eliminare tutti i file di provisioning scaricati e quindi lasciare che Xcode "Risolvi i problemi".
Lars Blumberg,

59

Ciò può accadere quando il tuo certificato scade nella tua catena chiave.

EDIT : ora consiglierei cert e sospiro di generare i tuoi certificati e profili di provisioning. Questi sono due comandi che fanno parte degli strumenti fastlane di KrauseFx.

Utilizzando cert & sigh:

  1. Apri un terminale e digita cert
  2. Rispondi alle domande poste per impostare l'utente, la password, il team, l'app, ecc.
  3. Apri un terminale e digita sigh
  4. Rispondi alle domande poste per impostare l'utente, la password, il team, l'app, ecc.
  5. Seleziona il profilo giusto in Identità di firma del codice (sviluppatore iPhone)

Modo convenzionale:

  1. Basta andare al nuovo portale di provisioning: certificati, identificatore, profili
  2. Accedi con il tuo account sviluppatore.
  3. Vai a Certificati e fai clic sul pulsante Più.
  4. Quindi seleziona Sviluppo app iOS e fai clic su Continua.
  5. Segui l'intero processo e scarica il certificato appena generato.
  6. Scaricalo e inseriscilo nel tuo portachiavi.
  7. Aggiorna i tuoi profili dalla finestra dei dispositivi XCode Organizer
  8. Seleziona il profilo giusto in Identità di firma del codice (sviluppatore iPhone)

1
ho seguito la procedura sopra descritta che richiederà Revoca e Richiesta. Se revoco quel certificato ha qualche effetto sulla distribuzione ??
SP Balu Kommuri,

1
Non influirà su alcuna app già presente su AppStore, ma dovrai rigenerare tutti i profili di provisioning utilizzando il tuo nuovo certificato per un utilizzo futuro (ovvero compilazione)
dulgan

Ciò significa che se uso per lo sviluppo futuro della mia applicazione. Voglio utilizzare il profilo di provisioning appena creato è corretto. @dulgan
SP Balu Kommuri

Sì, tutto ciò che hai già sviluppato funzionerà ancora, ma scadranno tutti i profili di provisioning creati con i tuoi vecchi certificati. I profili di provisioning vengono utilizzati solo quando installi un'app tramite XCode, via etere O quando invii un'app a iTunesConnect
dulgan

Grazie @dulgan da ora in poi utilizzo un nuovo certificato revocato con un nuovo profilo di provisioning che non sarà un problema. ok .....
SP Balu Kommuri


6

Se stai usando il jailcoder, assicurati di eseguire il jailbreak del tuo iPhone con successo. Non dimenticare di installare AppSync per IOS in Cydia.


C'è un posto affidabile per ottenere AppSync?
newenglander,

5

Nell'ultimo aggiornamento di xcode questo problema si verifica in genere quando il certificato è scaduto e xcode continua a utilizzare quello precedente fino alla scadenza.

La chiusura di xcode e l'apertura di nuovo attiverà un processo automatico di download del nuovo certificato e di funzionamento della tua app.

Basta chiudere xcode verso il basso (Cmd + Q), quindi riaprirlo, caricare il progetto e premere play .. ti chiederà se desideri assistenza per risolvere automaticamente il problema del certificato, quindi segui semplicemente le istruzioni sullo schermo e fa tutto il duro lavoro per te :)


5

I profili di provisioning sono obsoleti.

  1. Xcode
  2. Preferenze
  3. conti
  4. Seleziona il tuo ID Apple
  5. Visualizza dettagli (angolo in basso a destra)
  6. Scarica tutto
  7. Corri di nuovo e FATTO!

Per me va bene! Ho importato il profilo dello sviluppatore da un altro computer
FlySoFast

Funziona per me, grazie ... dannazione Apple, perché così tanti posti dove rimanere bloccati?
Kyle Pennell,

4

Questo può essere un po 'un approccio empirico, ma vale la pena di fronte a molti commentatori che notano "questo ha funzionato per me" o "questo non ha funzionato per me". In primo luogo, il problema può risiedere in diverse posizioni, sia i certificati (identità di firma del codice) sia i profili di provisioning. Identificare dove si trova il problema prima di fare qualsiasi cosa farà risparmiare molto sforzo sprecato. Dovrai controllare in tre posti:

  1. XCode
  2. Accesso al portachiavi
  3. Il portale per sviluppatori (Developer Members Center)

OK, in XCode fai clic sul progetto (sopra l'intestazione dei target), seleziona Crea impostazioni e scorri fino a "Firma codice". Espandi l'intestazione "CODE_SIGNING_IDENTITY" e vedrai un sacco di identità (Debug, Release ecc.) Ognuna di queste corrisponderà a un certificato in Accesso Portachiavi. Trova la corrispondenza e controlla la data di scadenza ... se è scaduta dovrai aggiornarla nel Portale per gli sviluppatori e scaricarla. Controlla OGNI identità, non solo la prima che trovi scaduta. Inoltre, se è scaduto, sarà necessario rigenerare qualsiasi profilo di provisioning che ha utilizzato il certificato scaduto. Se non si verificano problemi con i certificati, controllare la data di scadenza di tutti i profili di fornitura. Ancora una volta, se sono scaduti, dovranno essere rigenerati.

Una volta completato, ripeti la stessa procedura per il TARGET che stai cercando di creare.

Niente di tutto questo ha funzionato? Un certificato scaduto è in agguato in uno dei profili di provisioning. Un segno che questo potrebbe essere il caso è che quando si fa clic su un CODE_SIGNING_IDENTITY l'identità è inferiore ad Altro ... ad es.Esempio di xcode di identità ingannevole

Questo di solito è un segno sicuro che c'è un certificato scaduto in agguato e che uno dei tuoi profili lo sta utilizzando.


3

Ho affrontato questo problema alla scadenza del mio abbonamento e l'ho rinnovato. Uso xCode6 e risolvo questo problema revocando il certificato di sviluppatore scaduto dal Centro membri e pulendo la cartella di build (alt + [Prodotto> Pulisci]). xCode gestisce altri problemi stessi.

Vedere la sezione " Sostituzione dei certificati scaduti " su questo link: https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainCertificates/MaintainCertificates.html


3

Ho avuto questo problema con XCode 6.3 Di seguito sono riportati i passaggi che hanno funzionato per me.

Vai a XCode > Preferences > AccountsSeleziona il tuo account sviluppatore, quindi fai View Details...clic sul refreshpulsante nella parte inferiore sinistra della finestra. Dovrebbe avvisarti che mancano pochi certificati. Fare clic Request. XCode dovrebbe scaricare automaticamente i certificati mancanti. Fai clic Donee dovrebbe funzionare.


2

lo esegui il debug sul simulatore solo se non disponi del certificato per sviluppatori iPhone. controllare nell'angolo sinistro in xcode selezionare simulatore non dispositivo.


ho eseguito il debug sul simulatore e il debug anche su iPad, ma 2 giorni fa non so cosa sia successo e ho questo errore.
Hayk Melkonyan,

2

Ho riscontrato lo stesso problema, ho eliminato tutti gli asset di provisioning da xcode e li ho aggiunti di nuovo, e ho appena riavviato Xcode.

La mia app è stata caricata sul dispositivo e ha funzionato.


2

Ciò accade anche se il certificato dello sviluppatore è scaduto. È ora di pagare Apple e rinnovarlo: P


2

Primo: vai a costruire le impostazioni e controlla se è stata scelta la tua identità di firma codice valida. Se ciò non aiuta, prova le cose più complicate


Funziona. Ho vecchio certificato e uno nuovo. Nuovo settato nelle impostazioni di compilazione.
djdance,

2

Nel mio caso, questo messaggio di dialogo ha funzionato

L'identità utilizzata per firmare l'eseguibile non è più valida.

Verificare che l'orologio del dispositivo sia impostato correttamente e che il certificato di firma non sia scaduto.

(0xE8008018).

Il mio certificato in Accesso Portachiavi ha ricevuto lo stato di non essere ancora valido in colore rosso con scadenza circa un anno e un'ora in futuro. Ho impostato l'ora in anticipo di un'ora e lo stato del certificato è diventato valido in verde. Quindi, chiunque sia qui fuori che pensa che la soluzione sia il riavvio di xcode non sia corretto ma sarebbe causa del tempo trascorso dal riavvio di xcode per rendere valido il certificato. Come, facendo clic sul pulsante Correggi problema si annulla e si crea un nuovo certificato con esattamente un anno di anticipo (più alcuni minuti a seconda delle località per sollevare questo problema).


2

Questa risposta è esattamente lavoro per me.


146 down voto Non è stato utile riavviare Xcode o riavviare il mio Mac.

Soluzione all'interno di Xcode:

In Xcode, go to Preferences --> Accounts --> View Details
Press the + symbol and select iOS Development
Press the refresh button in the lower left corner (called Download all in Xcode 7)

PS:

Sometimes it may also help to delete invalid provisioning profiles: right-click -> move to trash
I saw this error exactly one year after signing up as an Apple developer.

*** Quello che voglio sapere è perché questo problema si presenta frequentemente dopo novembre November ps: il mio account sviluppatore Apple si è registrato da diversi anni, ma quest'anno ho cambiato il ruolo di agente in un altro account di posta elettronica.


2

La mia soluzione, dopo che nient'altro ha funzionato, è stata quella di accedere a Keychain Access ed eliminare tutte le chiavi / i certificati "sviluppatore iOS", quindi lasciare che Xcode li rigenerasse.


Ho dovuto sbarazzarsi anche di "iPhone Developer".
rstackhouse,

1

Prova a impostare l'ora sul dispositivo mobile e sul Mac in "imposta data e ora automaticamente" casella di controllo e riavvia xcode, che ha fatto per me


1

Il problema qui è che il tuo profilo è stato costruito su un certificato scaduto

-quindi devi entrare nel portale degli sviluppatori e rinnovare il tuo certificato se è scaduto

-quindi rigenerare il profilo in modo che venga reintegrato nel nuovo certificato

ti suggerisco di utilizzare lo strumento di configurazione dell'iPhone per gestire i profili sul tuo mac


1

Se il certificato non è installato localmente. Oppure hai provato a eseguire il certificato e hai scelto di "revocare e richiedere" un nuovo certificato, quindi hai la possibilità di farlo sul computer su cui stai tentando di eseguire

vai su Preferenze-> Account-> sotto il tuo ID Apple -> Visualizza dettagli -> sotto le identità di firma puoi vedere lo stato del tuo certificato "Valido" o "Revocato" se revocato e vuoi richiederne uno nuovo vai a -> + quindi -> il tipo di distribuzione che si sta tentando di utilizzare.


0

In Xcode 5.1 - c'è un'area di auto aiuto che ha fatto il lavoro per me.

Lo troverai nella sezione Generale dopo aver fatto clic sul nome del tuo progetto in> Target. Dovresti vedere un'icona di avviso e una descrizione del problema nella sezione Identità (proprio dove digiti i numeri di build / versione).

Ha notato che al momento non esisteva alcun certificato archiviato e tramite alcune caselle di auto-aiuto e una modifica della mia password, l'ho fatto funzionare.


0

Questi erano i motivi per cui ho avuto questo errore:

Nell'ID app non è stato verificato il mio certificato per sviluppatori iOS (sono membro di un programma Enterprise) e nel mio Mac avevo 2 profili di provisioning con lo stesso ID app. Ne ho cancellato uno.

Spero che questo aiuti qualcuno.


0

Ho provato tutto quanto sopra. Continuavo a ricevere l'errore sull'UUID non trovato.

Sono andato al progetto, ho aperto project.pbxproj e ho trovato tutte le istanze dell'UUID (2) e ho eliminato l'UUID (non l'intera riga).

Risolto il problema


0

Ho risolto questo problema selezionando il team corretto all'interno di Xcode (faccio parte di più team). Inoltre, ho revocato il mio certificato, ne ho richiesto uno nuovo, l'ho caricato e poi lo ho scaricato di nuovo.


0

Sperimentato lo stesso problema. Si è verificato un problema con un certificato scaduto. Dovrai creare un nuovo certificato e il profilo prov corrispondente. Segui i consigli di dulgan per farlo.


0

Rimossi i profili dalla directory sul tuo computer: "~ / Library / MobileDevice / Provisioning Profiles". E registrato al centro per sviluppatori Apple, modificato il profilo di provisioning specifico, selezionato il certificato per il profilo di provisioning e generato nuovamente il profilo. Ha installato il nuovo profilo e ha funzionato per me.


0

Trovato un altro modo in cui questo accade oggi. Quando modifichi il tuo profilo di provisioning dopo una modifica del certificato, puoi vedere che i certificati selezionati indicano 2 di 1 certificati selezionati (se usi solo 1 certificato). Deselezionando e selezionando nuovamente il certificato è possibile rigenerare e installare il profilo e risolve il problema.


0

La soluzione di @vomako ha quasi risolto il mio problema, ma ho dovuto fare un altro paio di passaggi.

Mi riferisco a quanto segue ...

In Xcode 6.1.1, sono andato su Preferenze -> Account -> Visualizza dettagli

Dopo aver effettuato l'aggiornamento a Xcode 6.1.1, il problema principale per me era che il pulsante > Visualizza dettagli era disattivato.

Ho dovuto eliminare il mio account, riavviare Xcode, quindi aggiungere nuovamente il mio account sviluppatore.

Dopo questo passaggio, ho potuto visualizzare nuovamente i dettagli e aggiornare i miei profili di provisioning.


0

Ho selezionato Nessuno dal menu a discesa Squadra nelle impostazioni generali di destinazione. Quindi ha selezionato la squadra originale. Xcode mostra alcuni spinner accanto ad esso. Aspetta che si completi e poi tutto funziona. Provato in Xcode 6.2


0

Ho avuto questo problema diverse volte, normalmente può essere risolto con Xcode a riapertura ravvicinata.

Ho cancellato i dati derivati ​​dall'organizzatore Xcode. Alla fine funziona

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.