2015-12-04 8 views
6

Ho rilasciato diverse app scritte in Swift 2.0 e 2.1. Ora Apple ha appena open source Swift e ha annunciato che Swift 3.0 sarà rilasciato l'anno prossimo. Le mie app funzioneranno ancora dopo il rilascio di Swift 3.0?Le app di Swift 2 funzioneranno dopo il rilascio di Swift 3?

+3

Qualsiasi app rilasciata continuerà a funzionare; se lo stesso codice sorgente verrà compilato sul compilatore Swift 3.0, nessuno lo sa, ma sulla base di quello che è successo con Swift 2 direi che saranno necessarie alcune modifiche. – Paulw11

risposta

11

Penso che stiate facendo due domande separate qui.

  1. L'applicazione verrà eseguita sul nuovo sistema operativo all'avvio di Swift 3?
  2. La tua app funzionerà sul nuovo sistema operativo al momento del lancio?

Per quanto riguarda la prima domanda, sì la vostra applicazione eseguirà anche se è stato compilato con Swift 2. applicazioni Swift hanno le librerie di runtime Swift insiti nei loro pacchetti in modo che siano al sicuro in questo senso. Noterai che i bundle Swift sono sempre più grandi di 4-5 MB rispetto ai loro equivalenti Objective-C e questo è esattamente il motivo.

Per quanto riguarda la seconda domanda, come per qualsiasi nuova versione del sistema operativo, non vi è alcuna garanzia che le app funzionino come nelle precedenti versioni del sistema operativo. Sebbene, dalla mia esperienza, Apple abbia fatto un lavoro abbastanza decente per mantenere le cose a ritroso compatte negli ultimi due rilasci del sistema operativo, anche se il tuo chilometraggio può variare.

11

Se stai chiedendo se il codice scritto in Swift 2.0/2.1 verrà compilato con Swift 3.0, è possibile che non lo sia. Citato da Swift Programming Language Evolution:

Compatibilità con tutte le fonti: Swift 3.0 non fornisce compatibilità con la sorgente completa. Piuttosto, può e introdurrà cambiamenti all'origine necessari per supportare gli obiettivi principali di Swift 3.0.

Ma come ha detto @Randy, l'app compilata in precedenza continuerà a funzionare.