Come correggere l'errore "SWIFT_VERSION '3.0' non supportato, le versioni supportate sono: 4.0, 4.2, 5.0" errore in Xcode 10.2?


118

Sto provando a eseguire il download dall'app, prova ad aprire in Xcode e ho un errore:

"Visualizzazione dei messaggi recenti
: -1: SWIFT_VERSION" 3.0 "non è supportato, le versioni supportate sono: 4.0, 4.2, 5.0. (Nella destinazione" SimpleWeather ")"

Screenshot aggiunto


Aggiorna la roba. 3.0 è piuttosto vecchio in termini di velocità di evoluzione Swift
vadian

2
Sto usando Xcode 10.2 e provo ad aprire la vecchia 3.0, ma non riesco a eseguire il programma perché ho degli errori.
vlad uvarov

Apri e aggiorna il progetto in Xcode 10.1. È possibile avere più versioni differenti di Xcode su disco.
vadian

1
versione aggiornata di Xcode; (
vlad uvarov

7
OH MIO DIO!!! Ho impiegato tre ore del mio tempo per scaricare XCode 10.2 solo per scoprire che non posso più creare le mie app. Non ho alcun backup di XCode 10.1! Questa è solo una follia per cui Apple dovrebbe pagarmi.
vojta

Risposte:


99

Seleziona il target "SimpleWeather" nel progetto e cambia la versione della lingua Target-> build setting -> Swift compiler language -> seleziona 5, 4.2 ecc.

immagine delle impostazioni di build per cambiare la lingua del compilatore


76

******** Modo più semplice: **********

1.Fare clic su POD nella colonna di sinistra.

2. Nella colonna centrale seleziona il pod che desideri, quindi vai a "Impostazioni build" nel pannello in alto a destra.

3. Quindi cerca "Swift Language Version" e passa a una versione conosciuta.

inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine


1
Grazie. Questa è la risposta che cerco.
Vinu Jacob il

Lo screenshot è di aiuto alla ricerca.
Namo

53

Per Xcode 10.1, seleziona il tuo file Pods

inserisci qui la descrizione dell'immagine

-> Vai a Impostazioni build -> Scegli il tuo pod -> Cerca "Swift" -> Vai a "Versione in lingua Swift" -> Imposta la versione della lingua desiderata.

inserisci qui la descrizione dell'immagine


9
Questa soluzione non funziona se la versione Swift è 3.xe se hai una versione Xcode maggiore di10.2
Juan P. Ortiz,

12

Ho seguito le istruzioni in questa pagina e l'errore non si è risolto. Infine, è andato in

$ vim MyProject.xcodeproj/project.pbxproj

e ho trovato due casi in cui

SWIFT_VERSION = 3.0;

era ancora referenziato. Ho cambiato quelli a 5.0 e l'errore era sparito. Non so perché quei due fossero ancora lì.


1
Ho usato la guida di Apple per la migrazione da Swift 3.0 a 5.0, tuttavia l'assistente non ha mostrato alcun suggerimento. Non appena ho modificato queste due righe nella risposta sopra, mi ha spinto a migrare immediatamente. Grazie per aver condiviso questa soluzione @Forrest !
Kareem Jeiroudi

Eccezionale! Sono contento che ti abbia aiutato @KareemJeiroudi
Forrest

2
Grazie, mi ha aiutato molto. Ho
cercato su Google

2
Questo ha funzionato anche per me. Facendo una lezione su di esso e il progetto di esempio era nella versione sbagliata.
sixstring

11
  1. Seleziona progetto
  2. Selezionare Build SettingTab
  3. Seleziona l'opzione della lingua di Swift Compiler

inserisci qui la descrizione dell'immagine


10

inserisci qui la descrizione dell'immagineseleziona il pod come da immagine e cambia la versione in lingua rapida questo può farti risparmiare un giorno

inserisci qui la descrizione dell'immagine


7

Sembra che l'app potrebbe avere un vecchio codice di versione di Swift come Swift 3.0 nel tuo caso. Nel rilascio di Xcode versione 10.2 è stata lanciata la versione Swift 5.0. Xcode 10.2 non supporta il compilatore per la versione Swift 3.0. Puoi cambiare compilatore da Build Settings -> Swift Compiler - Language -> Swift Language Version -> Change it to Swift 5. Se il tuo codice è compatibile con quella versione della lingua, eseguirà il codice senza errori.

Tuttavia, la modalità di compatibilità Swift 3 non sarà supportata nel compilatore Swift 5. Swift 4.2 è l'ultima versione di Swift a supportare la modalità Swift 3. Ci sono cambiamenti importanti sia sulla superficie del linguaggio che all'interno della sua implementazione nelle versioni successive a Swift 3 che saranno la base del sorgente futuro (e duraturo) e della stabilità binaria.

Fare riferimento al collegamento sottostante per maggiori dettagli. https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_release_notes/swift_5_release_notes_for_xcode_10_2

Se desideri davvero eseguire l'app con un codice della versione Swift precedente, devi utilizzare una versione precedente di Xcode. Puoi usare Xcode versione 10.1, il suo compilatore supporta la versione Swift 3.0.

Un altro modo alternativo è migrare il tuo vecchio codice Swift alla nuova versione della versione Swift. Puoi eseguire la migrazione da Swift 3.0 a Swift 4.0 nella versione Xcode 10.1.

Per la guida alla migrazione, fare riferimento a questo https://swift.org/migration-guide-swift4/


5

Mi sono imbattuto in questo problema durante lo sviluppo di un Cocoapod. Avevo un vecchio .swift-versionfile nel mio repository che specificava Swift 3.0.

La corsa pod lib lint --verbosemi ha portato a questa utile risposta:

Rimuovi il .swift-versionfile che ora è obsoleto e utilizza solo l' swift_versionattributo all'interno del tuo podspec.

Ho eliminato il file e spec.swift_version = '5.0'l'ho aggiunto al mio file podspec per risolvere il problema.


5
  1. Controllalo:
    1. Fare clic sul nome del progetto
    2. Fare clic su target
    3. Fare clic su Build setting
    4. Nella versione in lingua Swift: scegli Swift 4

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine


4

Ho aperto il file MyProject.xcodeproj (usando l'editor VSCode)

e ho trovato alcune righe dove

SWIFT_VERSION = 3.0;

(a circa la riga 400 dove dice /* Begin XCBuildConfiguration section */)

Modifica in SWIFT_VERSION = 5.0 o altri. Dopo di che sono stato in grado di creare ed eseguire il progetto.


3

Cerca Swift e fai doppio clic, quindi modifica ciascuna versione offensiva.

inserisci qui la descrizione dell'immagine


1

Se hai più file pod come ho fatto io e hai problemi a trovare il pod con SWIFT_Version = 3.0 prova la barra di ricerca


0

1) cambia la versione del pod su podfile (perché la libreria ha scritto la vecchia versione swift)

2) "pod install" sul terminale


0

Sono nuovo nello sviluppo di iOS. Dopo aver seguito tutte le risposte precedenti, ho ancora ricevuto lo stesso errore. Stavo usando Xcode 11 e ho scaricato il campione " FoodTracker " dal sito web di Apple Developer e ho ricevuto lo stesso errore dopo aver provato a crearlo. Ho scoperto che il progetto ha diverse impostazioni che si riferiscono alla versione in lingua Swift dopo VIM il contenuto del file di progetto. Quindi, ho risolto questo problema impostando prima "Project> FoodTracker", e anche "TARGETS> FoodTracker" e "TARGET> FoodTrackerTests" la versione in linguaggio Swift su 5.0. Spero che sia d'aiuto.

Impostazione della versione in lingua rapida sul progetto e su TUTTI i target


-1
  1. apri MyProject.xcodeproj / project.pbxproj nell'editor (eq Sublime)

esempio Calculator.xcodeproj

  1. Rinomina tutto SWIFT_VERSION = 3.0; Rinomina tutto SWIFT_VERSION = 5.0;

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.