WWDC 2012 ha annunciato funzionalità su iOS 5?

5

Sono relativamente nuovo allo sviluppo di iOS, quindi dopo aver visto un sacco di video WWDC che annunciavano nuove fantastiche funzionalità per l'SDK dell'iPhone, ho ancora alcune domande riguardo il loro supporto per i dispositivi più vecchi. In particolare:

  • Le nuove funzionalità del compilatore (come supporto letterali, auto-sintetizzazione, ecc.) richiedono iOS 6 sul dispositivo di destinazione o il nuovo codice di stile può essere distribuito su dispositivi iOS 5?
  • Layout automatico per iOS, stessa domanda. Sarà supportato solo su iOS 6 o 5? Se è solo 6, quale tipo di fallback ci aspettiamo di implementare?

Gradirei davvero che qualcuno potesse chiarire questo per me, visto che sto pensando di riscrivere il mio vecchio progetto incompiuto e mi piacerebbe usare alcune delle migliori funzionalità dell'SDK.

    
posta Arnold 07.07.2012 - 02:22
fonte

2 risposte

2

Quindi l'ho provato io stesso, eseguendo un'app di test con alcune nuove funzionalità dell'SDK nel simulatore di iOS 5, e i risultati sono praticamente come previsto, anche se ancora un po 'deludenti.

Le caratteristiche del compilatore, come i letterali e l'auto-sintetizzazione, funzionano bene e bene. Tuttavia, se l'app tenta di accedere a un file IB che contiene alcuni elementi di layout automatico, l'app si bloccherà con questo errore:

*** Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: 'Could not instantiate class named NSLayoutConstraint'

Quindi, anche se non è davvero sorprendente, è ora confermato che l'auto-layout non funzionerà su versioni iOS precedenti a 6. Non credo ci siano stati raccomandazioni ufficiali su cosa usare invece e come fornire fallbacks corretto, ma credo che dovrebbe essere separato XIB precedente-iOS-specifico insieme con lo stesso vecchio codice di layout manuale.

    
risposta data 10.07.2012 - 06:40
fonte
3

La mia comprensione è che le funzionalità implementate dal compilatore, come gli oggetti letterali, possono essere implementate su sistemi meno recenti. Le funzionalità che richiedono il supporto dal runtime o da framework nuovi / modificati, probabilmente incluso il layout automatico, richiedono iOS 6.

È banale capire se una determinata funzione funzionerà su iOS 5 ... basta creare un semplice progetto di esempio che utilizzi la funzione e provare a eseguirla su iOS 5. Non ricordo come la nuova sintetizzazione automatica la roba si adatta, ad esempio, ma puoi sicuramente provarla.

    
risposta data 07.07.2012 - 21:06
fonte

Leggi altre domande sui tag