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?
risposta
Penso che stiate facendo due domande separate qui.
- L'applicazione verrà eseguita sul nuovo sistema operativo all'avvio di Swift 3?
- 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.
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.
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