Generalmente, la regola è di supportare la versione più bassa del sistema operativo che fornisce le funzionalità che consentono di consegnare il prodotto desiderato. Ho fatto in modo che tutte le mie applicazioni richiedessero iPhone OS 3.0 circa un mese dopo il lancio perché avevo bisogno di supportare la copia e incolla personalizzata e l'e-mail in-application. Per la versione gratuita di una delle mie applicazioni, volevo provare iAds, quindi ho realizzato solo la versione 4.0.
Le possibilità per i miglioramenti del codice interno forniti da un nuovo sistema operativo sono un po 'più complesse per rendere le regole. Come sottolinea Joe, il tempo trascorso a lottare contro un vecchio modo di fare le cose, che potrebbe essere salvato passando a una nuova versione del sistema operativo, è il momento di non correggere bug o aggiungere la prossima nuova grande funzionalità. Ad un certo punto, l'eleganza di un nuovo modo di fare le cose (come blocchi e GCD) è troppo convincente da ignorare, anche se potrebbe non aggiungere direttamente nuove funzionalità alla tua applicazione.
Sul Mac, molti sviluppatori mantengono il supporto per la versione corrente del sistema operativo più il precedente rilasciato da Apple (Snow Leopard e Leopard, al momento). Solo quando esce un nuovo sistema operativo rilasciano il supporto per la versione precedente. Altri, come Wil Shipley, sostengono di saltare a bordo del nuovo sistema operativo solo immediatamente e ignorano le vecchie versioni. L'argomento qui è che le persone che non pagheranno per le nuove versioni del sistema operativo Apple o che non manterranno aggiornato il proprio sistema avranno meno probabilità di acquistare l'applicazione di terze parti.
Ho visto anche su iOS. Ad esempio, ho eseguito un test di annunci mirati a versioni diverse attorno al lancio di 3.0 (quando gli utenti di iPod touch dovevano ancora pagare per gli aggiornamenti del sistema operativo). Mentre i download di una versione gratuita della mia applicazione erano relativamente coerenti tra gli utenti 2.x vs 3.x, quasi nessun utente 2.x ha pagato per l'applicazione mentre gli utenti 3.x lo hanno fatto.
Nessuno si è lamentato tra i miei utenti paganti del passaggio anticipato a 3.0 (hanno parlato bene delle nuove funzionalità, però) e solo due persone si sono lamentate della mia versione gratuita in versione 4.0, rispetto a 56.000 che sono state aggiornate senza problemi. Mentre darei un po 'di tempo per un periodo di transizione, credo che passerò alle nuove versioni del SO poco dopo il loro lancio. In questo momento, sono in procinto di creare tutto ciò che è mio solo 4.0 in modo da poter modernizzare il codice base.
Infine, un ultimo vantaggio derivante dall'utilizzo della nuova versione del sistema operativo è che diventi molto più attraente per Apple, che desidera sempre promuovere le applicazioni utilizzando le nuove funzionalità nei nuovi dispositivi e nelle versioni del sistema operativo.
Dovrai effettuare una chiamata anche se non vale la pena supportare le versioni precedenti di iOS. Quanti dei tuoi clienti stanno ancora utilizzando dispositivi che non supportano iOS 4 e quanto è importante il loro business rispetto alla quantità extra di sforzo di codifica che richiederebbe? Nessun altro può rispondere a questa domanda per te. –