2016-06-28 14 views
25

Sono nuovo nello sviluppo di Apple e presto distribuirò la mia app tramite AppStore. Quindi ora sto usando Swift 3 e per impostazione predefinita il target di implementazione è impostato su iOS 10.0 Significa che non potrò eseguirlo ad esempio su iOS 8-9? 'Cos in Swift 3 Io uso nuove funcs che non sono disponibili nel sistema operativo in seguitoCompatibilità iOS Swift 3

risposta

60

È possibile rendere il vostro app su iOS 8 & 9 impostando il distribuzione di destinazione a una di queste versioni. Swift 3.x è compatibile con iOS 8 e successivi (non sono sicuro, ma potrebbe anche essere compatibile con iOS 7). L'unica differenza con Swift 2.2 (rispetto ai requisiti di sistema) è che devi utilizzare Xcode 8.

Quando si imposta il target di distribuzione su una versione precedente rispetto a iOS 10, si deve tenere presente che non è possibile utilizzare le API che sono nuovo in iOS 10. (eccetto che usi l'operatore #available) Ma usare Swift 3 non dovrebbe essere un problema.

Edit: È ora possibile caricare applicazioni scritte in Swift 3 utilizzando Xcode 8.0 GM

+2

Questa risposta è utile, ma sono curioso se qualcuno sa se Swift 3 è compatibile con iOS 7? – rtcarlson

+0

@rtcarlson Le versioni precedenti erano compatibili con iOS 7. http://stackoverflow.com/questions/24001778/do-swift-based-applications-work-on-os-x-10-9-ios-7-and-lower Quindi penso che anche Swift 3 funzionerà. Ma non ho la possibilità di verificarlo. – FelixSFD

+0

@FelixSFD qual è il requisito della versione os, va bene con el caption? – vaibhav

5

si dovrebbe usare 3.x Swift (è l'ultima versione di Swift in quanto questa risposta è stata pubblicata).

La versione per iOS NON è correlata alla versione Swift che dovresti usare, invece, alcuni dei nuovi apis forniti supportano una versione minima del sistema operativo. Ma - è vero - non è legato al linguaggio di programmazione stesso. Ad esempio: un'applicazione è stata creata tramite Swift 2.x (Deployment Target 9.x) dovrebbe funzionare su iOS 10; Quando si aggiorna l'IDE (xcode), supporta, di default, l'ultima versione del linguaggio di programmazione -Swift-.

ANCHE: Si può fare:

if #available(iOS 10, *) { 
    // use an api that requires the minimum version to be 10 
} else { 
    // use another api 
} 

Spero che questo ha aiutato.