2016-06-15 29 views
72

È possibile utilizzare Swift 2.2 in Xcode 8?Usa Swift 2.2 in Xcode 8?

Da Xcode note 8 release: "Xcode 8 supporta la commutazione toolchain, come quelli da swift.org, senza rilancio Xcode (23.135.507)"

ho cercato per trovare una rapida toolchain 2.2 sul sito web swift.org ma non è possibile. Avere qualsiasi successo nella configurazione di Xcode 8 a lavorare con rapido 2.2

+0

Qual è il problema con la migrazione a 2.3? – kennytm

+0

Desidera provare a sviluppare utilizzando Xcode 8 ma ho ancora bisogno del mio codice per essere compatibile con Xcode 7 al fine di realizzare build di rilascio. – salabaha

+1

Swift 2.2 in Xcode 7 e Swift 2.3 in Xcode 8 sono compatibili. – Jim

risposta

57

Se si desidera continuare a utilizzare Swift 2 in Xcode 8, quindi utilizzare Swift 2.3, consentendo la Usa Legacy Swift Versione linguaggio impostazione build (SWIFT_VERSION = 2.3).

+0

Sono solo curioso: hai trovato un modo per specificare Swift 2.3 (Legacy) quando * crea * un nuovo progetto? –

+0

@EricD: Penso che siano leggermente diversi, ma non in modi incompatibili. Nessuna fonte ufficiale però. – Jim

+0

@MartinR: i nuovi progetti funzionano allo stesso modo di quelli vecchi - basta modificare le impostazioni di compilazione. – Jim

33

Utilizzando Swift 2.3 in Xcode 8 da That Thing in Swift fornisce una buona introduzione all'uso Swift 2.3 in Xcode 8.

Il seguente è citato dall'articolo:

C'è una singola impostazione build che permette si continua a costruire i vostri progetti Swift con una versione Swift che è per lo più simili a sintassi per i progetti esistenti da Xcode 7: Usa Legacy Swift versione linguaggio

Basta inserire nelle impostazioni di generazione del vostro progetto e la ricerca di eredità veloci a trovare l'impostazione di compilazione corretta, quindi passare l'impostazione per SI di opt-in per Swift 2.3 piuttosto che Swift 3 in Xcode 8.

enter image description here

+0

miniera già impostato su "SI", ma sto ancora ricevendo "Usa eredità errore versione rapida". Stranamente, non viene dal progetto. Viene dal framework UITest. – user30646

+0

NVM, ho appena usato cdm + alt + shft + k, e l'errore è scomparso. – user30646

+6

Nel mio Xcode 8.3.2, non esiste alcuna impostazione di questo tipo. Sotto 'Swift Compiler', c'è solo un'impostazione di build chiamata' Swift Language Version' e 'Swift 3' è l'unica scelta. – thundertrick

3

Come una delle possibili soluzioni a questo problema ho potuto suggerire di installare due versioni di Xcode (7.3.1 e 8, per esempio) fianco a fianco.

per raggiungere questo obiettivo è necessario:

  1. Scarica adatto file DMG da Downloads for Apple Developers. Usa la ricerca per trovare Xcode.
  2. Fare doppio clic su questo file per vedere "Trascinare per installare Xcode nella finestra della cartella Applicazioni" familiare. Ma trascina questo altrove per un momento. Il desktop sarebbe buono. Rinominalo in Xcode \ numero di versione \ (come Xcode 7.3.1) e trascinalo nella cartella Applicazioni.

Questo è tutto.

+0

ma non puoi eseguirlo su un dispositivo iOS 10 direttamente collegandolo al tuo Mac. –

+0

È possibile: https://gist.github.com/steipete/d9b44d8e9f341e81414e86d7ff8fb62d – timbroder

1

Non è possibile utilizzare Swift2.2 in XCode8 impostando Usa versione legacy Swift in Sì nelle impostazioni di generazione.