15

Qui ci sono diverse domande simili, ma nessuna potrebbe rispondere alla mia domanda di base:Più certificati/profili di provisioning in un organizer Xcode?

È possibile avere due certificati di sviluppatore separati nel portachiavi e due profili di distribuzione corrispondenti in Organizer?

Ho il mio certificato di sviluppo (di lavoro) e il profilo di provisioning per le mie app per iPhone personali. Ora ho finito un progetto per un cliente e vorrei usare il suo conto sviluppatore/certificati di profili/Prevenzione di presentare la sua applicazione per l'App Store sul suo account.

È possibile?

Finora ho scaricato e installato i suoi certificati e vengono visualizzati nel mio portachiavi e ho installato il suo profilo di provisioning in Organizer, ma Organizer mi dice "Non è stato possibile trovare un'identità di firma valida che corrisponda a questo profilo nel portachiavi". . Allo stesso modo, la generazione dell'archivio non riesce.

Non sono riuscito a trovare un modo per dire a Organizer di utilizzare il certificato del mio cliente anziché il mio, penso che questo sia il problema.

Grazie per qualsiasi aiuto!

+0

hanno di impostare i valori appropriati nelle impostazioni di generazione? –

+0

Non è stato possibile impostare l'identità per la firma del codice nel profilo di distribuzione: è stato disattivato, presumibilmente perché l'organizzatore non ha trovato l'identità di firma. Ma ora funziona, vedi sotto. – marimba

risposta

22

Sì ho prodotto App Store si basa su progetti per clienti più volte con il loro certificato di distribuzione. Non è necessario utilizzare il loro certificato per sviluppatori. Ci sono molte cose possono potrebbe andare male qui, se si ha accesso al conto del cliente si può andare al portale provisioning e controllare le cose:

  • assicurarsi che l'ID pacchetto nelle impostazioni del progetto corrisponde esattamente al ID app sul portale di provisioning iOS (solitamente com.company.appname)

  • assicurarsi che il profilo di provisioning di distribuzione dell'archivio app sia contrassegnato come "valido" e visualizzato sotto il certificato di distribuzione.

  • assicurarsi che la configurazione di build dell'app store in xcode faccia riferimento al certificato di distribuzione del cliente.

  • aprire il portachiavi e assicurarsi che anche il certificato di distribuzione del client abbia la sua chiave privata di accompagnamento. Questo potrebbe essere il problema, è la parte solitamente lasciata fuori. Il cliente deve esportare la sua chiave privata per il suo dist cert e inviarlo nel file .p12 insieme alla password nel file .p12. Il certificato dist non può essere utilizzato per firmare l'app senza la chiave privata!

  • a volte basta chiudere Xcode e riavviarlo aiuta.

+0

Questo era esattamente il tipo di lista di controllo che speravo, e avevi ragione, mi mancava la chiave privata. Funziona perfettamente ora. Grazie mille, hai reso la mia giornata. – marimba

+9

Felice di essere in grado di aiutarti a "signing failure hell". Non sarebbe bello se il messaggio di errore di Apple dicesse "certificato mancante chiave privata"? – Bogatyr

+0

"a volte basta chiudere Xcode e riavviarlo aiuta" ha funzionato nel mio caso, ti consiglio di farlo come il tuo * primo * passaggio se riscontri questo problema –

4

Vedere questa soluzione per duplicare i certificati: http://tapadoo.com/2012/certificates-magically-re-appearing-in-your-keychain-try-this/

Il succo è che se si dispone di una vecchia chiave privata e il profilo di provisioning in giro, è possibile imbattersi in un caso in cui Xcode ricreerà un vecchio certificato nel tuo portachiavi. Ciò renderà il gag di firma del codice perché richiede un singolo certificato con un nome specifico. L'eliminazione della vecchia chiave privata risolverà questo problema.

+0

Mentre questo potrebbe teoricamente rispondere alla domanda, [sarebbe preferibile] (http : //meta.stackexchange.com/q/8259) per includere qui le parti essenziali della risposta e fornire il link per riferimento. –

1

EASY MODE

(io odio questi errori di esportazione arcaiche così male. Tante ore sprecate.Io non sono religioso, ma ho ancora prego che questo ti aiuta)

  • Accedere https://developer.apple.com
  • andare a Certificati, identificatori & Profili
  • in basso a sinistra: Profili di fornitura
  • eliminare qualsiasi duplicati/profili non validi (nel mio caso ne avevo solo uno ma non era valido)

Nota: se si sta cercando di esportare un archivio, è possibile lasciare la finestra aperta di esportazione, eliminare un provisioning profilo, quindi fare clic su "riprovare" o qualunque sia il pulsante dice. Questo vi salverà da dover ri-archivio più e più

# xcode8.2.1 # osx10.11.6

Problemi correlati