Xcode 4 - Errore "Identità di firma valida non trovata" sui profili di provisioning in una nuova installazione di Macintosh


209

Avevo un Macintosh che sviluppavo app per iPhone con XCode 4. Ora ho un nuovo Macintosh con una nuova installazione di ... tutto.

Quando apro progetti Xcode creati sul vecchio Mac, non riesco a eseguire l'app su iPhone configurata come iPhone di sviluppo.
L'organizzatore Xcode 4 mi dice "Identità di firma valida non trovata" nei miei profili di provisioning.

Immagino che questo abbia a che fare con il file .certSigningRequest che avevo generato in precedenza sul vecchio Mac (ho un backup di quel file), ma cosa devo fare con esso sul nuovo Mac?

Un'altra cosa strana, non vedo i miei 5 profili di provisioning esistenti (definiti sul portale di provisioning di Apple) nell'organizzatore, anche dopo un aggiornamento e dopo aver inserito il mio login e password del mio portale di provisioning:

inserisci qui la descrizione dell'immagine


4
Come hai portato la tua identità attraverso? Il modo più semplice è usare i pulsanti di importazione / esportazione proprio lì nella parte inferiore della finestra che mostri: esportare da un sistema funzionante, importare nel nuovo sistema. Ciò dovrebbe garantire la copia di tutti i certificati e i profili.
Tommy,

2
ma cosa succede se la vecchia macchina ha un disco rigido danneggiato (e nessun backup) o è già riformattata?
polarità

In realtà è ovvio che una domanda come commento è una cattiva idea. (Una nuova domanda stackoverflow o individuare la domanda esistente è l'idea giusta.)
Warren P

Risposte:


221

Con Xcode 4.2 e versioni successive, incluso XCode 4.6, esiste un modo migliore per migrare l'intero profilo dello sviluppatore su una nuova macchina. Sul tuo computer esistente, avvia Xcode e procedi come segue:

  1. Apri Organizer (Shift-Command-2).
  2. Seleziona la scheda Dispositivi.
  3. Scegli Profilo sviluppatore nell'angolo in alto a sinistra in LIBRERIA, che può trovarsi sotto la libreria di titoli o sotto un titolo chiamato SQUADRE.
  4. Scegli Esporta nella parte inferiore sinistra della finestra. Xcode ti chiede di scegliere un nome file e una password.

Modifica per Xcode 4.4:

Con Xcode 4.4, al passaggio 3, selezionare Profili di provisioning in LIBRERIA. Quindi selezionare i profili di provisioning con il mouse o Comando-A.

Inoltre, Apple sta migliorando il modo in cui gestisce questo aspetto di Xcode e alcuni utenti hanno segnalato che il pulsante Aggiorna nell'angolo in basso a destra fa il trucco. Quindi prova prima a fare clic su Aggiorna e, se ciò non aiuta, esegui la sequenza di esportazione / importazione.

Immagine per XCode 4.6 aggiunta da WP

inserisci qui la descrizione dell'immagine

Modifica per XCode 5.0 o successivo:

  1. Apri XCode -> Preferenze ('Command' + ',')
  2. Seleziona l' ID Apple dall'elenco.
  3. Fai clic sull'icona IMPOSTAZIONE vicino all'angolo in basso a sinistra della finestra e scegli ESPORTA ACCOUNT ... Xcode ti chiede di scegliere un nome file e una password.

Sul tuo nuovo computer, avvia Xcode e importa il profilo che hai esportato sopra. Funziona come un fascino.

Immagine per XCode 5.0 aggiunta da Ankur

Per XCode 5 o versioni più recenti


19
Per il passaggio 3, non avevo "Profilo sviluppatore" elencato in LIBRERIA. Invece ho dovuto scegliere <il nome del mio team> in SQUADRE.
Steve Onorato,

9
Continuo a ricevere "identità di firma valida non trovata"!
RGML

7
Ho 2+ computer che uso per lo sviluppo. Ho esportato il profilo di provisioning su uno di essi, ma non sono riuscito a importarlo dalla pagina Organizer> Libreria> Profili di provisioning. Ho dovuto andare alla pagina Libreria> Squadre> myUserID per poter importare il profilo dello sviluppatore.
GLaDOS,

7
Apple sta "migliorando" queste cose, ma introduce nuovi dolori ad ogni passo. Mi sto ancora strappando i capelli ancora e ancora ...
brainray

4
Ho contribuito con un'immagine per rendere questo più chiaro per gli utenti di XCode 4.6. APPLE YU NO FARE QUESTO FACILE ????
Warren P

60

Ho appena incontrato il problema simile oggi. Sfortunatamente il mio HD è morto su di me, quindi non ho potuto eseguire la migrazione menzionata qui nella risposta accettata. Ho dovuto fare i seguenti passi:

  1. Collegati al centro membri per sviluppatori Apple, quindi al portale provvisorio iOS.
  2. Revoca il mio certificato.
  3. Crea un nuovo certificato fornendo una nuova coppia di chiave privata e pubblica.
  4. Rimuovere tutti i profili di provisioning precedenti e crearne di nuovi.
  5. Scarica i nuovi profili di provisioning e installali in XCode semplicemente trascinandoli sull'icona XCode nel dock.

La stessa azione è menzionata anche in questo post .


Grazie, questo ha funzionato per me (non ho il mio vecchio mac con me per trasferire nulla).
Jamie G,

1
Grazie @tiguero .. Anche il mio HD si è bloccato. E stavo faticando a trovare una risposta per lo stesso dopo aver recuperato i dati dall'HD. Ma quando ho appena ricreato il certificato utilizzando il portachiavi e il portale di provisioning. Ha risolto tutto il problema. NOTA: potrebbe essere necessario modificare il profilo di provisioning e aggiungere il nuovo certificato, quindi riscaricarli e reinstallarli tutti. Cheers Coders .. Spero che questo aiuti qualcuno in cerca di una risposta.
Apple_iOS0304,

1
Questa è una conoscenza molto importante. (Revocare il certificato precedente richiesto prima che tu possa crearne uno nuovo non è affatto intuitivo, ma è sicuramente una buona pratica operativa per Apple lavorare in questo modo. Ti rende la vita difficile se perdi la chiave.)
Warren P

Se revoca un certificato che è stato utilizzato per firmare un'app in produzione, ciò non influisce in qualche modo sull'app?
Emmanuel Ay,

2
@EmmanuelAy Se la tua iscrizione al Programma per sviluppatori iOS è valida, le tue app esistenti su App Store non saranno interessate dalla revoca del certificato.
Dai

16

Assicurati che il tuo certificato sia nel portachiavi "login". Evidenzia il portachiavi di accesso se non lo vedi, cercalo. Quindi trascina il certificato sopra le parole "login". Chiudi e apri XCode, ta-da.


2
Grazie mille, tutto mi è sembrato giusto, tranne per il fatto che i miei certificati erano nel Sistema e non nel Login. Quando li ho spostati, tutto ha funzionato come un fascino!
pat

ohhh, il semplice clic non funziona come descritto su developer.apple.com/ios/manage/overview/index.action . La posizione dovrebbe essere selezionata manualmente
sergtk

9

Devi copiare la chiave privata e il certificato dal tuo vecchio Mac. Apri Accesso Portachiavi sul vecchio Mac e cerca nella categoria Chiavi del portachiavi di accesso: la chiave dovrebbe essere lì. Devi esportare sia la chiave pubblica che quella privata, quindi copiare yourkey.peme yourkey.p12sul nuovo Mac.

L'importazione tramite Accesso Portachiavi probabilmente fallirà, almeno sotto 10.6; puoi invece usare questi comandi:

security import yourkey.p12
security import yourkey.pem

L'accesso ai portachiavi a volte non riesce a esportare o importare chiavi private. È possibile utilizzare l' securityutilità della riga di comando al suo posto. Garantisco che funzioni.
LaC,

@LaC: posso eliminare alcune voci esistenti sul nuovo Mac?
Oliver,

Puoi eliminare le voci che non ti servono più. Se non sei sicuro di averne bisogno o meno, è meglio non eliminarli, ovviamente.
LaC,

2
È necessario utilizzare la funzione di esportazione / importazione di Organizer per migrare il profilo dello sviluppatore. Vedi la risposta che ho appena pubblicato.
Steve Liddle,

Ho provato tutti gli altri passaggi e non hanno funzionato .. Ho provato questo, e l'importazione .p12 funziona bene, ma .pem dice che è importato, ma quando entro in Keychain non mostrano .. e xCode dice ancora certificato di firma non valido ... qualche suggerimento?
Michael Rowe,

9

Per l'errore

Identità di firma valida non trovata

vedere i passaggi pubblicati da Apple per risolvere questo problema.

Per quanto riguarda il problema dei "5 profili di provisioning esistenti" sul portale iOS che mancano nella libreria locale in Xcode 4.x Organizer> scheda Dispositivi> sezione Profilo di provisioning in Libreria.

Ti consiglio di seguire i passaggi che ti guidano attraverso il ripristino dei profili mancanti e copre anche il caso di un bug Xcode in cui Xcode 4.1-4.2.1 elimina erroneamente i profili della tua libreria locale che sono "Attivi" sul portale iOS.


1
Mi piace questa risposta perché funziona davvero e i loro documenti cercheranno di rimanere aggiornati
okysabeni

7

Dovrai andare al tuo sito per sviluppatori, andare ai tuoi certificati e generarne uno nuovo per il tuo MAC attuale e aggiungerlo al tuo portachiavi.

Quindi dovrai aggiungere nuovamente il profilo di provisioning. Dovrebbe funzionare ora. Fondamentalmente devi eseguire gli stessi passaggi che hai fatto quando hai ottenuto il tuo certificato Dev.


7

Ho avuto lo stesso errore ma il problema era leggermente diverso. Abbiamo un team di sviluppatori ma tutti usiamo lo stesso ID Apple (account sviluppatore), quindi quando ho generato il profilo di provisioning, ho continuato a ricevere lo stesso errore della domanda in oggetto. Quindi, sebbene avessi scaricato il certificato (che viene richiesto come parte dei passaggi dell'Assistente per il provisioning dello sviluppo), continuavo a ricevere quell'errore. Quindi ho scoperto che il problema era che il nostro account sviluppatore Apple utilizzava un certificato che era stato generato sul mio compagno di lavoro, quindi avevo bisogno di revocarlo e generare un nuovo certificato, quindi creare il profilo di provisioning.

Nel Riepilogo, la lezione appresa è che il certificato utilizzato per il profilo di provisioning deve essere generato sullo stesso computer in cui verrà utilizzato il profilo di provisioning. Ciò è particolarmente importante da considerare quando si dispone di un team di sviluppatori che condividono lo stesso ID Apple.
Spero che aiuti qualcuno


6

I miei 2 centesimi su questo errore, anche se non relativi a uno scenario di esportazione / importazione:

quando si aggiunge il certificato di provisioning mobile (ovvero il PROVfile), NON trascinare il file dal Finder a Keychain Access. Al contrario, fai doppio clic sul file PROV in Finder, mantenendo l'applicazione Accesso Portachiavi in ​​esecuzione da qualche parte.

Ho effettivamente visto il mio precedente oggetto di provisioning in Keychain (quello con luce gialla) sostituito con uno nuovo, verde con lo stesso nome e ID app. HTH


1
Grazie, anche facendo clic su Aggiungi in Profili di provisioning in Xcode Organizer non riesce, mentre se faccio doppio clic sul file .mobileprovision tutto funziona correttamente.
damix911,

5

Ho affrontato questo problema questa mattina quando ho appena aperto una vecchia app con un certificato diverso e ho permesso il suo accesso al portachiavi. L'altra mia app che funzionava abbastanza bene, ha smesso di funzionare con questo errore. Mi sono tolto i capelli fino ad ora, quando ho semplicemente fatto questo:

Menu Xcode> Preferenze> Account> THE_APPLE_ID_THAT_YOU_ARE_USING> Visualizza dettagli

Nella nuova finestra, in basso a sinistra, Signing identitiespremi il +pulsante e seleziona iOS Development. Aggiungerà nuovamente l'identità, dopodiché il mio problema è stato risolto ora e l'app è di nuovo in esecuzione sul dispositivo.

inserisci qui la descrizione dell'immagine


4

Il mio sistema operativo MAC si è schiantato di recente. Ho reinstallato Mac 10.7.4e XCode 4.5. Ma tutti i profili di provisioning stavano mostrando il seguente messaggio organizer.

Valid Signing identity not found

Ho faticato a trovare aiuto per un paio di giorni. In seguito mi sono reso conto che se hai eseguito la migrazione da un sistema a un altro (o formattato il tuo sistema), devi esportare la tua chiave privata dal tuo portachiavi dal tuo vecchio sistema al nuovo sistema (o al nuovo sistema operativo installato).

Si può anche esportare il proprio profilo sviluppatore / profilo sviluppatore team nell'organizzatore.

Organizer > Teams > Developer Profile > Export

Spero che sia d'aiuto.


3

Mi è successa la stessa cosa di Tiguero (grazie per la risposta, mi ha dato speranza), ma ecco un modo per sbarazzarsi valid signing identity not founddell'errore senza dover eliminare tutti i profili di provisioning.

Se si utilizza un nuovo sistema e non è possibile recuperare le chiavi da un altro sistema, è necessario eliminare e rigenerare nuovi Developmente Distributioncertificati per Xcode. Puoi farlo tramite Xcode, o alla vecchia maniera usando Keychain Access.

Quindi quello che puoi fare è andare in Provisioning, e in ogni scheda Development, e Distribution, fare clic Editaccanto al profilo che si desidera aggiornare, e quindi Modify.

Vedrai un elenco di certificati e devi spuntare la casella accanto a quella appena fatta, quindi Submit.

Una volta fatto questo, vai nel tuo Xcode(sto usando 4.3.3) Organizer > Devices > Library > Provisioning Profilesdove stai ricevendo il messaggio di errore e fai clic Refresh. Dopo aver risposto alla richiesta di inserire il login dello sviluppatore, Organizerricaricherà i profili e il messaggio di errore dovrebbe scomparire.


Inoltre, prima di eseguire la compilazione su un dispositivo dovrai probabilmente accedere ai pannelli Impostazioni build e selezionare il nuovo profilo sviluppatore iPhone per evitare un errore di segno del codice.
Catherine,

2

Ho risolto l'errore "Identità di firma valida non trovata" con più o meno:

  1. Assicurati che il certificato nel tuo programma per sviluppatori iOS sia elencato anche nell'accesso al tuo portachiavi e sia valido (confronta le date del problema). In caso contrario, trasferiscilo dal tuo vecchio mac usando le istruzioni dal riferimento apple O eliminalo dal sito web e dal tuo accesso al portachiavi e poi ricrealo, scaricalo nuovamente e trascinalo su X-code.
  2. Elimina tutti i profili di provisioning di sviluppo o distribuzione esistenti e ricrearli in base al nuovo certificato, riscaricarli e verificare dall'accesso del portachiavi che tutto sia valido.

0

Sembra che tu possa trasferire i tuoi certificati e profili di provisioning da una macchina all'altra, quindi se hai problemi nell'impostazione del tuo certificato e / o profili a causa della migrazione della tua macchina Dev, dai un'occhiata a questo:

come trasferire certificati xcode tra mac


0

Il trucco per me è stato scoprire che anche se potevo vedere lo sviluppatore certificato sotto login, non era sotto I miei certificati. La correzione era esportare il certificato dal portachiavi sul vecchio mac, quindi importarlo in I miei certificati / accedere al nuovo mac.


0

Nessuno lo ha ancora menzionato, e questo potrebbe non essere un problema comune, ma ho avuto un problema simile con Xcode 5: assicurati di aver selezionato un portachiavi predefinito nell'accesso Portachiavi del Mac . Ho provato una nuova installazione di Mountain Lion e ho eliminato un portachiavi, che era il default. Dopo aver impostato un altro portachiavi come predefinito (fai clic con il pulsante destro del mouse sul portachiavi e seleziona Rendi portachiavi "Nome portachiavi" predefinito "), Xcode è stato in grado di impostare le identità di firma valide.


0

Ho avuto questo problema perché il certificato di sviluppo iOS associato al profilo di provisioning non era nel mio portachiavi. Avevo reinstallato OSX e questo era il risultato. Ho fatto quanto segue:

  • developer.apple.com in Certificati, identificatori e profili
  • seleziona il corrispondente (e valido) Certificato di Sviluppo iOS, scaricalo
  • fai doppio clic sul file scaricato, viene aggiunto al portachiavi
  • gli errori nell'organizzatore scompaiono

Se non si dispone di un certificato valido, generarne uno nuovo e creare un nuovo profilo di provisioning con esso.

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.