2012-05-17 4 views
6

La mia azienda collabora con diverse altre aziende per gestire le esigenze di sviluppo di iPhone e in molti casi le altre società hanno già alcune app esistenti su App Store.Quali sono le situazioni in cui si verificano errori irreversibili nel processo di firma del codice App/codice chiave di app store?

Gestiamo l'invio di App Store anche per loro e nelle situazioni in cui hanno già un'app esistente, il loro account Dev Center iOS ha già creato un certificato di distribuzione. Nel qual caso dobbiamo acquisire la coppia di chiavi che è stata generata quando (o lo sviluppatore di terze parti che hanno assunto) ha creato il certificato. Ho sempre compreso che questa è la procedura necessaria per lavorare con l'App Store.

Ma col passare del tempo, mi chiedo su diverse cose

  1. Cosa succede quando i certificati scadono? So che ne creiamo di nuovi ma ciò significa che le app su App Store sono firmate con un certificato/coppia diversa da quella con cui sono state create. È significativo? Oppure posso aggiornare le app esistenti su App Store anche con un nuovo certificato/keypair (dallo stesso account iOS Dev Center)

  2. Cosa succede se la coppia di chiavi viene persa per un certificato esistente? Diciamo che la società ha fatto un'app prima, ma il Macintosh che hanno utilizzato prima è stato colpito da un meteorite. E nessun backup ovviamente. Dovrei revocare e ricreare il certificato - questo significherebbe qualcosa per l'app pubblicata esistente? Se avessi il codice sorgente di quell'app e dovessi pubblicare un aggiornamento, sarei in grado di farlo?

Fondamentalmente io chiedo: Ci sono "rovinare tutto in modo permanente" scenari coinvolti con i certificati di sviluppo e distribuzione iOS che impedirti di essere in grado di aggiornare le applicazioni esistenti? So che se non si esegue il backup del keystore nello sviluppo di Android, si è solo in difficoltà per quanto riguarda la pubblicazione degli aggiornamenti, ma c'è un modo per rovinare completamente lo sviluppo di iOS?

E una domanda bonus: se riesco a revocare i certificati di sviluppo e ri-emetterli senza conseguenze, ha sempre funzionato in questo modo? O hanno modificato il processo? Posso vedere dove la "catena di prove" potrebbe sempre essere legata all'account iOS Dev Center Agent e questa sarebbe la radice delle cose, ma è una cosa nuova?

+1

È una buona domanda, in sostanza non ci sono problemi permanenti. Con Android, credo (a meno che non sia cambiato) puoi perdere quella "chiave importante" e sei fregato; non c'è analogia con la scena iOS, per fortuna. Semplicemente fai nuove chiavi. – Fattie

risposta

7

Un certificato di distribuzione viene utilizzato solo per l'invio a iTunes Connect (e roba Ad Hoc). Una volta approvata, Apple firma l'app con un altro certificato non scadente prima di inserire l'app nell'app store, quindi lo stato del certificato di distribuzione dello sviluppatore non è più rilevante.

Un'app scaricata o acquistata rimarrà in esecuzione sul dispositivo di un cliente anche se i certificati dello sviluppatore e la registrazione iOS scadono. Ma uno sviluppatore deve registrarsi di nuovo ($ 99/anno) in tempo se vuole che la sua app rimanga visibile nell'App store.

In genere, i certificati di distribuzione scadono ogni anno, forse un po 'più spesso, possono essere creati nuovi e gli aggiornamenti per le app esistenti possono essere inviati solo con il certificato di distribuzione più recente (e valido).

Se si perde una coppia di chiavi, il leader del team dovrà revocare e generare nuovi certificati e disposizioni e aggiornare tutti i relativi Portachiavi e il provisioning Xcode ed eventualmente anche le impostazioni di progetto/destinazione. La confusione su quali certificati e disposizioni sono vivi e che sono morti ha causato alcuni gravi problemi agli sviluppatori.

Problemi correlati