2016-06-15 21 views
33

Ho il progetto del mio parco giochi scritto in Swift 2.2 e voglio sfruttare la grafica della timeline e provare nuove funzionalità di debug introdotte in Xcode 8 beta. Per impostazione predefinita, Xcode 8 beta utilizza Swift 3 in Playgrounds e non riesco a trovare un modo per cambiarlo. L'aggiornamento del mio codice a Swift 3 non è un'opzione, purtroppo, perché il mio codice verrà compilato sul server con l'ambiente Swift 2.2.Come posso utilizzare Swift 2.3 in XCode 8 Playgrounds?

+0

quando parli di progetto di un parco giochi, intendi un '.playground' o un' .xcodeproj'? – Ike10

+3

Intendo '.playground' –

risposta

29

Purtroppo, secondo Apple è impossibile:

Per esempio, Parchi giochi in Xcode funzionano solo con Swift 3, e in particolare l'app Swift Playgrounds per iPad utilizza anche i modelli di progetto Swift 3. Xcode utilizzano tutti Swift 3 e tutta la documentazione è presentata in un formato appropriato per Swift 3.

Altro here.

-1

È possibile convertire la Swift 2.2 per Swift 2.3 per l'utilizzo in Xcode-beta 8.

Sì, Swift 3 è l'impostazione predefinita, ma si ottiene la seguente finestra di dialogo quando si fa Edit > Convert > To Current Swift Syntax... in Xcode.

Questo anche creato una voce nel mio project.pbxproj per SWIFT_VERSION = 2.3

enter image description here

+6

Non risponde alla domanda su come modificare la versione rapida dei campi di gioco. – LopSae

+0

@RobLabs Non funziona per me. Se salvo Playground come spazio di lavoro, 'Edit> Converti> In Current Swift Sintassi ...' diventa disponibile ma si blocca con il messaggio '" Generazione anteprima ... "'. –

+2

Penso che sia un caso diverso perché Playgrounds non contiene il pacchetto * .pbxproj e quindi non ci sono impostazioni di progetto quindi 'SWIFT_VERSION = 2.3' non può essere impostato. –

-4

Ho un parco giochi legacy (creato utilizzando xcode 7) in un progetto che ho migrato alla sintassi Swift 2.3 su XCode 8 e il mio parco giochi funziona anche se ancora usa la sintassi Swift 2.3, quindi immagino ci sia un modo .