2013-07-04 8 views
5

La mia app è in attesa di revisione e ora il certificato di distribuzione sta per scadere.Quando si rinnova un certificato di distribuzione iOS, cosa accadrà alla mia app che è in revisione? e utilizzerà la stessa chiave privata?

Da quanto ho capito, per rinnovare il profilo basta toccare "rinnova" nel portale.

  • Utilizzerà la stessa chiave privata o sarà necessaria una nuova richiesta di firma?
  • Cosa accadrà alla mia app che non è stata ancora approvata? Dovrò ricostruire/ri-firmare l'app?

risposta

7

Questa domanda probabilmente non ha ricevuto molta attenzione in quanto la seconda domanda richiede speculazioni sul funzionamento interno e sul processo di Apple e del team di revisione dell'App Store. Affrontiamo quello che sappiamo per primi:

Utilizzerà la stessa chiave privata o sarà necessaria una nuova richiesta di firma?

Sì, a condizione che si tocchi il pulsante "Rinnova", verrà utilizzata la coppia di chiavi pubblica-privata esistente e verrà emesso un nuovo certificato con una scadenza impostata in futuro. Questa strada è il modo più rapido e indolore per gestire il rinnovo dell'identità con la firma del codice. L'Organizzatore scaricherà e installerà il certificato riemesso e una volta scaduto formalmente il certificato corrente, passerà automaticamente al nuovo certificato.

Se, tuttavia, si elimina accidentalmente sia la chiave privata o pubblica, allora si avrà bisogno di:

  1. Passare attraverso il processo di CSR
  2. Eseguire nuovamente il certificato
  3. Installare il certificato
  4. Emetti nuovamente i profili di provisioning
  5. Rimuovi i vecchi profili
  6. Installa i nuovi profili
  7. Se necessario, aggiornare le impostazioni del segno di codice
  8. Ripetere il test per assicurarsi che tutto funzioni correttamente.

Chiaramente questo è modo più lavoro quando fatto a mano e l'one-touch rinnovare pulsante è un modo molto più veloce per saltare tutto questo manuale segno di codice di manutenzione.

Cosa accadrà alla mia app che non è stata ancora approvata? Dovrò ricostruire/ri-firmare l'app?

Come testata, questa sottoquestione richiede speculazioni sulle pratiche interne di Apple e come tale dovrebbe essere trattata con una dose adeguata di scetticismo. Giusto per essere chiari: non ho una conoscenza approfondita di come il team di revisione app ei relativi strumenti per l'approvazione delle app funzionino dietro le quinte, ma può parlare degli aspetti tecnici del certificato e di ciò che può scattare da una scadenza del certificato a metà del periodo -revisione.

Sappiamo di emettere nostre altre applicazioni che, dopo il processo di revisione accade e un app è formalmente approvato, v'è un 'Preparazione per AppStore' stato che richiede in genere un paio di minuti per completare prima di passare a 'pronto per la vendita'. Per inciso, questo ritardo rispecchia fedelmente quello delle fasi di packaging e firma del codice dell'applicazione del nostro processo di creazione di Xcode. Secondo, non avrebbe molto senso per Apple preparare tutti i binari che riceve per l'App Store. Sappiamo che esiste un numero non banale di build inviati che vengono rifiutati ogni giorno per varie violazioni del Programma per sviluppatori, arresti anomali delle applicazioni e persino il rifiuto non valido occasionale. Collettivamente, queste "cattive build" non arriveranno mai su App Store, quindi non avrebbe molto senso sprecare tempo, fatica e spazio di archiviazione nel riporre queste app preparate nel caso in cui dovessero essere approvate (sapete che noi sviluppatori ... siamo eccessivamente protettivi del nostro tempo sul processore e sul nostro spazio di archiviazione!) Comunque, se accetti queste ipotesi come un fatto, ecco come un certificato di distribuzione scaduto potrebbe avere un impatto sulla tua app di revisione intermedia:

Se App Store Review team non ha avviato la revisione

la build sarebbe respinta in quanto i profili di provisioning incorporati sarebbero scaduti al momento il revisore raccoglie la vostra applicazione fr om la coda. Mentre il revisore probabilmente rinuncia a una copia della tua app per i propri dispositivi di test interni, sono sicuro che il team di revisione abbia uno strumento, uno script o il portale iTunes Connect responsabile della convalida di alcuni elementi tecnici del file binario caricato come Xcode e l'Uploader dell'applicazione effettua al momento dell'invio. In questo caso, una semplice ricostruzione e reinvio con il nuovo certificato di distribuzione e il profilo è tutto ciò che è necessario.

Se l'App Store Review Team ha ha iniziato la revisione

A seconda quando il dispositivo del revisore svolge la sua prossima ad hoc costruire controllo, la vostra applicazione può o non può lanciare sul dispositivo del revisore (s). Se continua a funzionare per il saldo del ciclo di revisione e ottiene il marchio di approvazione del team, non dovrai preoccuparti di nulla finché non desideri inviare la versione successiva.

D'altra parte, se si verifica e non si avvia la prossima volta che la recensione riapre l'app, verrà visualizzato un avviso di rifiuto di iTunes Connect. Come prima, una ricostruzione e il nuovo invio sono tutto ciò che sarebbe necessario.

In alternativa, è possibile semplicemente abbandonare il file binario scaduto utilizzando lo strumento della riga di comando del segno di codice, tuttavia le specifiche di tale operazione non rientrano nell'ambito di questa domanda SO, quindi la lascerò come esercizio per il lettore (o per il lettore per aprire un'altra domanda SO!)

+1

sembra rimosso Apple pulsante Rinnova l'anno scorso, hai qualche approccio alternativo per questo problema? – bersam

3

È andato attraverso la scadenza del certificato. Una volta scaduto il certificato, questo verrà automaticamente rimosso da developer.apple.com, pertanto è necessario creare un nuovo certificato. Inoltre, tutti i profili di provisioning con questo certificato sono scaduti, scaduti anche diverse ore prima del certificato, quindi è consigliabile creare nuovi certificati e aggiornare i profili diversi giorni prima che scadano. Una volta che l'applicazione è stata caricata su iTunes, non si verificherà nulla di male se il certificato scade (nel mio caso l'applicazione era in 'attesa di revisione' quando il certificato era scaduto e il processo di revisione iniziato diversi giorni dopo). Tuttavia, la revisione potrebbe fallire se si rifiuta il certificato, non si è sicuri di questo caso.

0

Ho inviato un'app la settimana scorsa su iTunes per la revisione tramite Application Loader. Un paio di giorni dopo, i certificati di firma della distribuzione sono scaduti e sono scomparsi, il che ha comportato la scadenza anche dei miei profili.

Ho rigenerato i certificati di firma e aggiornato i profili scaduti con tali certificati in modo che fossero di nuovo validi. Ho anche avuto scadere i certificati push, che ho rigenerato pure.

Un paio di giorni più tardi, l'app è passata in rassegna ed è stata accettata, nessun problema!

Problemi correlati