Nessuna identità disponibile per la firma di Xcode 5


128

Ho un errore "Nessuna identità disponibile per la firma" quando provo a convalidare la mia app in Xcode 5. Ho provato tutto: Ricrea certificati e profili di provisioning, tutti i metodi che sono stati descritti su questo sito e altre risorse; Sono confuso, perché quando provo a distribuire la mia app come Ad-hoc, crea e installa correttamente sul dispositivo di prova un file IPA. Ma quando provo a convalidare la mia app o invio a AppStore, ho sempre un errore. Forse qualcuno mi può aiutare con questo problema.


Stessa situazione esatta qui. In grado di creare / distribuire ad-hoc ma non app store. Ti preghiamo di rispondere se trovi una soluzione.
Vaporware Wolf,

Risposte:


211

Tutto quello che devi fare è:

  1. vai a Certificati, identificatori e profili nel Centro per sviluppatori

  2. creare un nuovo profilo di provisioning in "Profili di provisioning" / "Distribuzione"

  3. scarica il profilo e aprilo

  4. riavvia Xcode


1
Grazie Mavis, non so perché la tua risposta non sia più votata, ha funzionato per me dopo un lungo panico, frustrazione e googling :) L'apertura del file è stata la chiave e non ho mai saputo ... Grazie ancora.
thepauljones,

38
Non sono necessari i passaggi 3 e 4. Sono sostituiti da: -> Vai a Xcode> Preferenze> Account> ID Apple utilizzato> Visualizza dettagli. Premere il pulsante di aggiornamento in modo da scaricare il profilo di provisioning. Dopo averlo scaricato, fai clic su Fine. Ora puoi validarlo e inviarlo!
CainaSouza,

8
Assicurati di utilizzare lo stesso ID app quando crei il profilo di provisioning e quello in XCode, altrimenti non funzionerà ..;)
Cristobal Viedma

5
Anche su xcode 5.1.1 dovevo ancora riavviare xcode per farlo funzionare. Un po 'zoppo.
raeldor,

2
Ho trascorso un'ora perché i documenti ufficiali non hanno mai menzionato il passaggio 4.
RJStanford,

21

Assicurati di utilizzare i profili di provisioning di distribuzione anziché lo sviluppo. E l'impostazione del segno di codice in Xcode è compatibile con i profili di provisioning di distribuzione.

inserisci qui la descrizione dell'immagine


1
+1000 per l'unica risposta che ha risolto il mio problema. Non pensavo di poter odiare Apple più di quanto non avessi fatto prima di passare attraverso questo ridicolo processo. Mi sbagliavo.
AndroidDev il

Anche questo ha risolto il mio problema. Il mio certificato era scaduto, quindi ho naturalmente scelto un certificato sviluppatore pensando che fosse per la distribuzione. I certificati degli sviluppatori sono utili solo per i test sul tuo dispositivo. Vai su "Certificati, identificatori e profili" e controlla se i tuoi certificati di distribuzione sono validi. Sono scaduti oltre 10 da quando ho distribuito molte app.
Brainware,

Una piccola variazione di questo: il profilo potrebbe essere per la distribuzione, ma per la distribuzione ad-hoc / aziendale ed è impossibile dirlo durante la visualizzazione o la modifica del certificato. La creazione di un nuovo profilo di provisioning ha mostrato quell'opzione e poi ha funzionato come previsto (ho chiamato il profilo di conseguenza per evitare confusioni future).
Federico

Non hai menzionato la creazione del App Storeprofilo di distribuzione e NON Ad-Hoc. Ho creato il App storeprofilo di distribuzione e tutto ha funzionato.
Aleks,

17

Il processo di convalida non funziona con i profili Ad-hoc. È necessario creare un profilo di provisioning di distribuzione. Non è specificato nelle istruzioni per il beta test. Ho sofferto tutto il giorno fino a quando realizzato.


+1000 Invece di farti sapere, XCode si arresta in modo apologicamente anomalo quando si tenta di convalidare con un profilo ad-hoc.
Pier-Luc Gendreau,

sei sicuro? Ho creato un profilo di distribuzione ma per ad hoc e lo ottengo ancora. Cosa intendi per profilo di distribuzione?
Dejell,

@Dejel esattamente - ci sono due tipi di "Profilo di distribuzione". Avevo felicemente ripetuto con i miei tester, con un profilo che ho chiamato "Profilo di distribuzione". Creato un altro "Profilo di distribuzione dell'App Store" e scelto "App Store" in una delle scelte, e tutto va bene. È una tale collisione di nomenclatura! L'improvviso uso di "Identità" invece del profilo o della firma ... ehhhh.
David Van Brink,

+2 se potessi. Grazie mille!
Seb OH,


11

Il riavvio di Xcode ha risolto il problema per me! Riavvia e / o pulisci risolve il 99% di tutti i problemi ...


1
Grazie mille, riavviare x-code è stato abbastanza per me. Ma il messaggio di errore che dai, non ti dà la minima idea di provarlo ...
Lasse,

5

Il commento di @CainaSouza sopra ha funzionato per me. Non ho nemmeno dovuto creare nuovi profili di provisioning.

Ho dovuto andare su Xcode> Preferenze> Account> (ID Apple)> Visualizza dettagli e premere il pulsante di aggiornamento. Dopo un minuto o due è stato fatto e ho caricato i miei profili di provisioning. Non dovevo nemmeno selezionarlo tra le opzioni del mio progetto, aveva già selezionato quello generato più di recente.


1
Ho provato diverse combinazioni di molte cose suggerite qui, ma nulla ha funzionato fino a quando. Rinfrescato. Hai ucciso la directory dei dati derivati ​​da XCode (/ Users / YourLoginName / Library / Developer / DerivedData) e riavviato XCode
nacross,

5

Pulisci la cartella di creazione del prodotto (con il pulsante Alt) Riavvia Xcode

Ha risolto il mio stesso problema


2

Ho avuto un problema simile. Abbiamo scoperto che l'identificatore del bundle non corrispondeva all'ID app presente su itunes connect: era in maiuscolo in modo diverso. Risolto il problema facendo corrispondere gli identificatori.


2

Sì, l'ID app e l'identificatore del bundle devono corrispondere. Ricorda che è CASE SENSITIVE. Questo è stato il problema per me.


2

Ho aggiornato a Maverick e Xcode 5 e ho avuto lo stesso problema, anche se ho avuto tutto ok in Profili. Ho creato un nuovo profilo di distribuzione (identico a quello precedente), l'ho aggiunto aggiornando i profili e il problema è stato risolto senza ricostruire.


1

Apple ha deciso di "scomparire magicamente" il mio profilo di provisioning di distribuzione dal proprio sito dopo l'aggiornamento a un Xcode più recente, dandomi anche questo problema.

La soluzione è ovvia solo dopo aver scoperto questo fatto!

-Creare un nuovo profilo di provisioning di distribuzione

-Scarica e installa / Aggiorna le preferenze Xcode sotto i dettagli dell'account


1

Ho risolto questo problema eliminando i vecchi profili di sviluppo / distribuzione e crearne uno nuovo con nuovi nomi.


1

Ho avuto una discrepanza tra l'identificatore del bundle all'interno di Xcode e l'ID app su Developer.Apple.Com (certificati, identificatori e profili). Questo post StackOverflow mi è stato di grande aiuto. Per qualche informazione in più dai un'occhiata a questo post sul blog . La documentazione ufficiale per il comando touch è disponibile qui . Ho lasciato Xcode prima di fare quanto segue. Al completamento dei dettagli di seguito e alla riapertura di Xcode il mio problema è stato risolto.

Utilizzare un editor di testo per aggiornare l'identificatore del bundle affinché corrisponda all'ID app, il file Info.plist si trova:

ProjectName> ProjectName> ProjectName> ProjectName-Info.plist

Stai cercando le seguenti righe:

<key>CFBundleIdentifier</key>
<string>MyCompany.${PRODUCT_NAME:rfc1034identifier}</string>

Aggiorna il valore in modo che corrisponda al tuo ID app, ad esempio:

<string>com.MyCompany</string>

Utilizzare il terminale per emettere il comando touch, accertarsi di trovarsi nella directory sopra elencata:

touch ProjectName-Info.plist

1

Se stai usando Xcode 5.1 o versioni successive (come si farebbe ora), questo mi ha aiutato: firma del codice interrotta su Xcode 5.1 + iOS 7.1

La chiave è eliminare il vecchio profilo di provisioning sul tuo Mac e crearne uno nuovo (con un nome diverso?) Dal sito Web di Apple e scaricarlo. Sembra che Xcode 5.1 danneggi il profilo di provisioning esistente e non aiuta anche se lo scarichi di nuovo.



1

La mia soluzione era quella di andare nel Dev Center, trovare il profilo di provisioning della distribuzione ed era scaduto. Quindi ho toccato modifica su di esso e l'ho rinnovato, scaricato, installato, scelto il profilo nelle impostazioni di compilazione e ha funzionato.

HTH qualcuno.


1

Di tutti i problemi di sviluppo che ho affrontato durante i miei oltre 20 anni come sviluppatore software, nessuno ha perso così tanto tempo quanto il profilo di firma del codice / provisioning di immondizia in Xcode.

Questa settimana ho perso più di 8 ore nel tentativo di creare una versione ad hoc della nostra app per iPhone. In passato ha funzionato, ho potuto archiviare, inserire un pulsante di download sulla nostra pagina web interna e gli utenti potevano semplicemente installare la nostra app da questa pagina.

Ma, questa settimana, ho dovuto affrontare lo stesso problema "Nessuna identità disponibile", descritto qui.

EVENTUALMENTE, ecco cosa ha risolto il problema per me:

Quando ho effettuato l'accesso al sito Web Apple Developers senza speranza, è emerso che la nostra azienda aveva 2 certificati "iOS Distribution". Erano validi, le loro date di scadenza sono mesi e nell'applicazione Accesso Portachiavi i certificati erano installati e validi ... nessun problema qui.

Ma ciò che ha risolto il mio problema è stato quello di eliminare questi due certificati, ricrearne uno nuovo, quindi ricreare il mio profilo di provisioning "In house" (poiché quello originale ora mostrava non valido, poiché utilizzava il vecchio certificato "iOS Distribution").

Sono anche entrato nell'applicazione "Accesso Portachiavi" sul mio MacBook e ho eliminato tutti i portachiavi "Distribuzione iOS".

Quindi, ho scaricato i nuovi certificati e profili di provisioning, ora, finalmente, Xcode segnalava l'esistenza di un'identità con cui potevo firmare il codice.

Per il team di sviluppo di Xcode:

Per favore. Ripara questo.

Se uno sviluppatore come me, si trova contro un muro, non è in grado di ottenere un profilo di provisioning valido, che si tradurrà in un'app scaricabile, che fallirà ogni volta sul messaggio "Impossibile scaricare l'app in questo momento". DON Non consentire l'utilizzo della funzione Archivio.

Invece, DIRE all'utente qual è il problema. AIUTACI a risolverlo, piuttosto che passare attraverso i movimenti, e felicemente permettendo loro di creare archivi che non saranno mai utilizzabili.

E se un'installazione ad hoc non è valida, inserisci qualcosa nel registro per spiegare cosa è andato storto e rendilo accessibile da Xcode. Attualmente la tua "app non può essere scaricata in questo momento " è inutile e fuorviante.

Un'ultima cosa (se questo aiuta):

La nostra azienda ha lasciato cadere accidentalmente la licenza del Programma Enterprise Developer il mese scorso. Abbiamo quindi rinnovato, tutto sembrava di nuovo a posto, ma forse, dietro le quinte, questo ha incasinato il nostro certificato "iOS Distribution"? E forse no. Dal punto di vista del sito Web di Apple, tutto andava bene.


0

Il mio problema era che non avevo none.myApp nel mio identificatore di bundle mentre in AppID avevo com.myApp.

Questo mi ha fatto impazzire per ore.


0

Ho riscontrato questo problema oggi e sembra essere correlato al volto che il profilo ha iniziato con un numero. Ho cancellato il profilo e ricreato esattamente allo stesso modo (dopo molti altri passaggi per la risoluzione dei problemi trovati su SO) SALVO questa volta ho iniziato con una parola anziché un numero. Coincidenza? Non sono sicuro ma vale la pena provare.


0

L'ho avuto ieri e non sono riuscito a capirlo, non importa quello che ho fatto! Per risolvere il problema, sono andato sia al progetto che al target in Xcode e, sotto la firma del codice, ho scelto

  • Identità di firma del codice: non codificare il segno
  • Profilo di provisioning: nessuno

Build, quindi Product> Archive e ora Organizer ha scelto le identità e i profili di firma del codice corretti per consentirgli di accedere al passaggio di convalida. Woohoo!


0

Succede a me dopo l' aggiornamento di Xcode.

Ho risolto facendo quanto segue

  • cambia l'accesso in "nessun segno"

  • riavvia Xcode

  • impostalo sul segno corretto

  • ri-archiviare la build

spero possa essere d'aiuto


0

Documentazione Apple

"Se Xcode non trova le identità di firma, viene visualizzata una finestra di dialogo che indica" Nessuna identità disponibile per la firma ". Verificare di disporre di un certificato di distribuzione e di un profilo di provisioning ad hoc prima di continuare.

Se il profilo di provisioning ad hoc non viene visualizzato nel menu a comparsa Profilo di provisioning quando si crea il pacchetto App Store iOS, aggiornare i profili in Xcode, come descritto in "Aggiornamento dei profili di provisioning in Xcode." "


0

Nel mio caso, il provisioning ad hoc che volevo impostare non era selezionabile in Firma codice in Impostazioni build . Tuttavia, ho creato e scaricato il provisioning ad hoc dallo store degli sviluppatori. Le risposte menzionate qui non hanno funzionato per me. Il pulsante Risolvi problema nella scheda Generale ha risolto il problema scaricando il file di provisioning ad hoc richiesto da solo.


0

Creando un nuovo certificato, Profile nel centro di sviluppo Apple non ha funzionato per me! Ho provato a modificare un profilo / certificati e scaricare di nuovo e fare doppio clic per installare in KeyChain, ma ancora non ha funzionato. Ho riavviato XCode (versione 7 e Mac su El Capitan), ho riavviato Mac ma ancora non ha funzionato!

Ciò che ha funzionato per me è: XCode -> Preferenze -> Account - Quindi ho eliminato l'ID Apple. Spegni il mio Mac e riavvialo. Ho avviato il mio XCode, aggiunto l'ID Apple, sono andato a visualizzare i dettagli negli ID Apple e scaricato di nuovo il profilo provvisorio e solo allora ha iniziato a funzionare!


-3

Il riavvio ha risolto il mio problema. Ho un nuovo mac e ho provato a scaricare i profili, che avrebbero dovuto essere trasferiti comunque. riavvio risolto.


La tua risposta non fornisce alcuna informazione che non è fornita da una delle tante altre risposte a questa domanda.
Xaver Kapeller,
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.