iOS 7.0 Nessuna identità di firma codice trovata


124
  • il certificato è valido
  • xcode 5
  • iOS 7

Errore del segno di codice: nessuna identità di firma del codice trovata: nessuna identità di firma del codice (ad esempio coppie di certificati e chiavi private) che corrisponde al profilo di provisioning specificato nelle impostazioni di compilazione ("Profilo di provisioning del team iOS: *"). Errore CodeSign: è richiesta la firma del codice per il tipo di prodotto 'Applicazione' nell'SDK 'iOS 7.0'


24
Lo chiamo incubo per la firma del codice Apple, lo risolvo sempre rimuovendo i miei certificati / profili scaricandoli nuovamente, quindi mappando i profili giusti.
meda,


9
Il riavvio dell'Xcode aiuta.
Ronald Randon,

2
Il riavvio di Xcode funziona per me :)
Hemant Chittora,

1
Terzo riavvio di XCode
Khanh Nguyen il

Risposte:


68

Per certificato

  1. Revoca il certificato precedente.
  2. Genera nuovo certificato di sviluppo.
  3. Scarica il certificato.
  4. Fare doppio clic per inserire KeyChain.

Per il profilo di provisioning

  1. Crea nuovo o modifica profilo di provisioning esistente.
  2. Scarica e installa.

Per BundleIdentifier.

  1. com.yourcompanyName.Something (messo come in AppId)

inserisci qui la descrizione dell'immagine

CodeSigningIdentity.

  1. Seleziona Il profilo di provisioning che hai creato.

inserisci qui la descrizione dell'immagine


4
A volte il riavvio aiuta, mi ha aiutato dopo il riavvio del mio Mac.
maschera

1
Verificare inoltre che esista un profilo di provisioning di distribuzione con un ID app che corrisponda all'identificatore del bundle per l'app. Una volta che li ho trovati, la finestra di dialogo di invio ha smesso di darmi quell'errore.
Chuck Krutsinger,

1
Prima di rigenerare i certificati, vorrei suggerire di disporre della chiave privata del certificato che si sta tentando di utilizzare.
jjramos,

Qualche motivo specifico per cui dovremmo revocare i certificati precedenti ??
iAviatorJose,

43

La mia soluzione per questo problema era:

Xcode> Preferenze. In Account fai clic sul tuo ID Apple. Fai clic su Visualizza dettagli, fai clic sul tuo profilo di provisioning dei progetti (penso che questo aiuti) e fai clic sul pulsante di aggiornamento in basso a sinistra.


17

Ho pensato di integrare altre risposte con la mia esperienza personale su questo.

Di recente ho avuto un problema per cui due obiettivi si sarebbero generati e due avrebbero fallito con il seguente errore:

Errore segno codice: non sono state trovate identità di firma codice: non sono state trovate identità di firma valide (vale a dire certificato e coppia di chiavi private) corrispondenti all'ID squadra "XXXXXXXXXX". Errore CodeSign: per il tipo di prodotto 'Applicazione' nell'SDK 'iOS 7.1' è richiesta la firma del codice

Questo nonostante avessi aggiornato tutto in Xcode e nel Centro per sviluppatori iOS .

Il suggerimento era che l'ID squadra mostrato nel messaggio di errore di compilazione non era aggiornato.

Abbastanza sicuro, l'apertura del project.pbxprojfile Xcode in un editor di testo ha trovato il vecchio ID team:

D29A93A318AB96440099C177 = {
        DevelopmentTeam = XXXXXXXXXX;
};

Per inciso, per ottenere il project.pbxprojfile, selezionare il .xcodeprojfile e mostrare i contenuti come mostrato qui:

inserisci qui la descrizione dell'immagine

Cercando sull'ID target D29A93A318AB96440099C177, ho potuto vedere che corrispondeva a uno dei target non riusciti:

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

In questo caso MyTarget3,. Per risolvere, una semplice ricerca di testo ha sostituito l'ID del vecchio team con il nuovo ID corretto. Problema risolto.

Per riassumere , speriamo che la tua situazione venga risolta usando le risposte sopra invece di approfondire la complessità del file di progetto di Xcode. Tuttavia, in caso contrario e l'errore mostra un ID squadra non valido, vale la pena verificare se l'ID squadra è ancora presente.


Anche questo era il mio problema. Non sono sicuro che fosse a causa mia o di qualcuno del mio team distribuito con i propri profili, certificati, ecc. L'ho messo su git unendo male il file pbxproj una volta. Che DevelopmentTeam ho notato proviene dal menu a discesa Team nella scheda Generale nelle impostazioni del mio progetto. Rimuovere completamente quella linea ha funzionato per me se vuoi che il team sia impostato su Nessuno.
JoshA,

ho controllato, il mio DevelopmentTeam è corretto come ottengo il nuovo ID? l'installazione del certificato ha lo stesso DevelopmentTeam in esso contenuto. per favore
aiutatemi

Funziona come un fascino. Sostituisci semplicemente l'ID visualizzato nell'errore con quello sopra.
vanguard69,

Nel mio caso ho dovuto fare clic sul pulsante "Correggi" in Target -> Generale -> Identità
Ohad Schneider,

9

Ho avuto lo stesso identico problema in fase di sviluppo. L'ho risolto

  1. Vai alle preferenze di XCode, visualizza i dettagli dell'ID Apple ed elimina il file di provisioning che si lamenta.
  2. Vai a Accesso Portachiavi ed elimina il certificato di sviluppo correlato al file di provisioning che hai appena eliminato.
  3. Nell'Apple Member Center, scarica il file di provisioning di sviluppo che hai appena eliminato localmente, fai doppio clic sul file per assicurarti che appaia in XCode.
  4. Scarica il certificato di sviluppo che hai appena eliminato localmente e fai doppio clic per assicurarti che venga visualizzato in Accesso portachiavi.
  5. Ora dovrebbe andare bene.

2
Questa risposta deve essere più in alto nella pagina.
bkSwifty

8

Ho appena avuto questo problema con Jenkins.

La soluzione era copiare il certificato e incollarlo nel portachiavi del sistema, altrimenti Jenkins non poteva leggere il certificato.


7

Non dovresti eliminare tutti i profili per risolvere questo problema,

Guardando i profili dei miei dispositivi nell'Organizer ho visto che uno dei miei profili non era valido. Sono quindi andato alla pagina Certificati, identificatori e profili degli sviluppatori e tutti i profili erano attivi, verdi e avevano un bell'aspetto ma quando facevo clic su modifica su quello che mostrava come non valido sul mio dispositivo, ho visto che la casella di controllo nell'account associato non era selezionata anche se Seleziona tutto è stato selezionato. Ho selezionato la casella per associare il profilo al mio certificato, scaricato il profilo e tutto è stato corretto.

Nella tua pagina web Profili fai clic su "Modifica" Sulla tua pagina web dei profili

È possibile che non sia presente alcun certificato associato anche se è selezionato "Seleziona tutto". Modifica il tuo profilo! [] [1]


Stavo per eliminare tutto il mio profilo di provisioning e iniziare dallo schizzo, poi ho trovato la tua risposta. Amico perfetto. Un giorno intero sprecato a causa di questo problema. Grazie mille per aver condiviso la tua risposta.
Nilesh Kumar,

4

Per me, impostare Progetto → Target / [Il tuo progetto] → Generale → Team su "Nessuno" ha risolto il problema.


4

Avendo passato una quantità ridicola di tempo cercando di risolvere una di queste, e sicuramente riesco a vedere dove la maggior parte di queste risposte potrebbe essere corretta in alcuni casi, la mia situazione non era poi così insolita.

Stavo cercando di distribuire su App Store per testare con TestFlight. Uno sviluppatore precedente, non più parte del progetto o della società, aveva creato il certificato di distribuzione IOS. Quello che xcode stava cercando di dirmi era che sì, il certificato era nel centro membri, ma amico, non puoi assolutamente usarlo perché non è tuo. Non avevo la chiave privata necessaria per firmare con esso e nessuna quantità di aggiornamenti, riavvii, revoche mi avrebbe aiutato. È necessario un certificato di sviluppo e distribuzione da caricare su App Store.

La soluzione era quella di creare un nuovo certificato di distribuzione della produzione nel centro membri, utilizzando una nuova richiesta di firma dal mio portachiavi. Questo processo è ben documentato e descritto durante la creazione del certificato online. Una volta fatto, aggiorna il tuo account in xcode per scaricarlo sul tuo portachiavi e sarai d'oro. Spero che questo aiuti qualcuno!


2

potrebbe sembrare strano ma per me ha funzionato riavviando il mio mac..non posso spiegare perché e cosa è successo ma ora funziona. spero che possa aiutare qualcuno


2

Ho raggiunto questo thread quando sto usando la riga di comando pura / jenkins build script e non voglio che nessuna singola interfaccia utente / RDP sia impostata manualmente per l'ambiente di integrazione.

Dopo qualche ora prova a risolvere esattamente lo stesso problema usando jenkins.
La chiave è "lista di sicurezza-portachiavi -s <nome_chiave_chiave>"

--- Storia lunga ---
Uso uno script in jenkins per sovrascrivere le impostazioni per progetto (profilo di provisioning e identità di firma)
Dopo l'aggiornamento a Xcode 7, devo cambiare lo script aggiungere sopra "list-keychains" dopo "create- Portachiavi"

Script aggiornato qui .


1

non è necessario eliminare tutti i profili. Ho avuto lo stesso problema e risolto installando i certificati mancanti. Potresti aver dimenticato di installare il certificato richiesto per il profilo di provisioning che stai utilizzando per la firma del codice.

  • assicurati di aver installato i certificati desiderati (sviluppo / distribuzione) nel portachiavi per il profilo di fornitura della firma del codice (sviluppo / distribuzione).

1

Prova a cambiare l'identificatore del pacchetto: Progetto -> Target / [Il tuo progetto] -> Generale -> Identificatore del pacchetto

Se l'app è stata pubblicata su AppStore XCode non consente di creare l'applicazione con lo stesso identificativo di bundle.


1

Targeting per iOS 8 e 9 su Xcode 7. Il mio profilo di sviluppo va bene, ho riscontrato questo errore durante l'archiviazione dell'app per il caricamento su app store. Ecco cosa ho fatto:

Xcode> Preferenze> Account> Visualizza dettagli. Accanto a Distribuzione iOS, fai clic sul pulsante "Ripristina". Ciò invaliderà il profilo di provisioning di distribuzione che stai utilizzando (perché hai reimpostato il certificato di distribuzione), quindi modifica il profilo per includere il nuovo certificato di reimpostazione.

Assicurarsi di scaricare sia il nuovo certificato di distribuzione sia il profilo di provisioning di distribuzione appena modificato. Riavvia Xcode.


1

Assicurarsi che il certificato sia connesso con la chiave privata :

Apri Accesso portachiavi, accedi, certificati . Trova il certificato all'interno dell'elenco e verifica se è correttamente associato alla tua chiave privata.

Se il certificato non è firmato con chiave privata, eliminalo, vai alla pagina dello sviluppatore di Apple e crea un nuovo certificato. A volte sarà necessario revocare il vecchio. Questo nuovo certificato verrà ora correttamente firmato con la tua chiave privata.

Ora, quando si dispone di un nuovo certificato, ricreare i profili di provisioning necessari che includeranno il nuovo certificato nel processo di creazione.

Nota, quando qualcuno del tuo team reimposta questo certificato con la sua chiave privata, questo stesso problema può riapparire durante il processo di aggiornamento. Non ne sono sicuro, ma sembra che ogni sviluppatore del team debba avere il proprio certificato per la distribuzione.


1

Ovviamente questo problema ha cause diverse. :)

Per il mio caso, il mio account è scaduto ... L'ho risolto semplicemente:

XCode -> Preferenze -> Account -> ID Apple -> Seleziona l'ID correlato e rinnova il login ...

Spero che questo ti aiuti!


0

Vai al navigatore Issue e controlla se Signing Identity:è presente nel tuo Accesso Portachiavi . In caso .cercontrario , scarica il file e aggiungilo al portachiavi.


0

Dopo aver tirato i capelli per molto tempo, ho finalmente trovato un problema. Ho selezionato un certificato errato durante la creazione del profilo di provisioning, selezionando quello giusto, mi ha aiutato. Nel tuo caso, se è multiplo, devi provare a selezionare uno per uno per risolvere questo problema.


0

Ho avuto questo errore ambiguo, "Comando / usr / bin / codesign non riuscito con il codice di uscita 1", durante l'impostazione di nuove scatole Jenkins per build iOS con Xcode 7.3, OSX 10.11.4.

Nel mio caso avevo diverse cose a posto: 1. Sì, avevo aggiunto i miei certificati al portachiavi, sia la radice di Apple che il certificato del team. 2. Sì Ho scaricato il profilo di provisioning corretto tramite le preferenze di xcode. 3. Sì, è stato persino creato manualmente in xcode.

Tuttavia, per jenkins, c'era forse un problema di memorizzazione nella cache su xcode. Ciò che ha funzionato è stato: 1. Uscire dalla GUI di Xcode. 2. Tornare indietro ed eseguire la build manualmente una volta. 3.Solo allora Xcode richiederà di consentire l'autorizzazione di accesso al portachiavi. 4.Jenkins ha alcune impostazioni che potrebbero essere in grado di risolvere questo problema, ma le mie macchine sono sicure, quindi faccio clic su "consenti sempre a xcode di accedere al portachiavi".


0

Con fastlane installato, è possibile creare e installare un certificato di sviluppo tramite

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