Comment réparer «SWIFT_VERSION '3.0' n'est pas pris en charge, les versions prises en charge sont: erreur 4.0, 4.2, 5.0” dans Xcode 10.2?

118

J'essaie d'exécuter téléchargé à partir de l'application, essayez d'ouvrir dans Xcode et j'ai une erreur:

«Affichage des messages récents
: -1: SWIFT_VERSION '3.0' n'est pas pris en charge, les versions prises en charge sont: 4.0, 4.2, 5.0. (Dans la cible 'SimpleWeather')»

Capture d'écran ajoutée

Vlad Uvarov
la source
Mettez à jour les choses. 3.0 est assez vieux en termes de vitesse d'évolution Swift
vadian
2
J'utilise Xcode 10.2 et j'essaye d'ouvrir l'ancien 3.0, mais je ne peux pas exécuter le programme car j'ai des erreurs.
vlad uvarov
Ouvrez et mettez à jour le projet dans Xcode 10.1. Il est possible d'avoir plusieurs versions différentes de Xcode sur disque.
vadian
1
version mise à jour de Xcode; (
vlad uvarov
7
OMG!!! J'ai mis trois heures de mon temps à télécharger XCode 10.2 pour découvrir que je ne pouvais plus créer mes applications. Je n'ai pas de sauvegarde de XCode 10.1! C'est juste une folie pour laquelle Apple devrait me payer.
vojta

Réponses:

99

Sélectionnez la cible 'SimpleWeather' dans le projet et changez la version de la langue Target-> build setting -> Swift compiler language -> select 5, 4.2 etc.

image du paramètre de construction pour changer le langage du compilateur

Xeneka
la source
76

******** Moyen le plus simple: **********

1.Cliquez sur les POD dans la colonne de gauche.

2.Dans la colonne centrale, sélectionnez le module souhaité, puis accédez à "Paramètres de construction" dans le panneau supérieur droit.

3.Ensuite, recherchez "Swift Language Version" et passez à une version connue.

entrez la description de l'image ici entrez la description de l'image ici

Kingsley Mitchell
la source
1
Merci. C'est la réponse que je recherche.
Vinu Jacob
La capture d'écran est utile à la recherche.
Namo
53

Pour Xcode 10.1, sélectionnez votre fichier Pods

entrez la description de l'image ici

-> Allez dans Paramètres de construction -> Choisissez votre pod -> Recherchez "Swift" -> Naviguez vers "Version de la langue Swift" -> Définissez la version de langue souhaitée.

entrez la description de l'image ici

Deepak Chaudhary
la source
9
Cette solution ne fonctionne pas si la version Swift est 3.xet que vous avez une version Xcode supérieure à10.2
Juan P. Ortiz
12

J'ai suivi les instructions sur cette page et l'erreur n'a pas été résolue. Enfin, est entré dans

$ vim MyProject.xcodeproj/project.pbxproj

et a trouvé deux cas où

SWIFT_VERSION = 3.0;

était toujours référencé. J'ai changé ceux-ci en 5.0 et l'erreur a disparu. Je ne sais pas pourquoi ces deux-là étaient toujours là.

Forrest
la source
1
J'ai utilisé le guide d' Apple pour la migration de Swift 3.0 vers 5.0, mais l'assistant n'affiche aucune suggestion. Dès que j'ai modifié ces deux lignes dans la réponse ci-dessus, cela m'a incité à migrer tout de suite. Merci de partager cette solution @Forrest !
Kareem Jeiroudi
Impressionnant! Heureux que cela vous ait aidé @KareemJeiroudi
Forrest
2
Merci, cela m'a beaucoup aidé. Je cherchais une demi-heure sur Google et
trouvais
2
Cela a fonctionné pour moi aussi. Faire un cours dessus et le projet d'exemple était dans la mauvaise version.
six cordes
11
  1. Sélectionnez un projet
  2. Sélectionnez l'onglet Paramètres de construction
  3. Sélectionnez l'option de langue du compilateur Swift

entrez la description de l'image ici

Manoj Rawat
la source
10

entrez la description de l'image icisélectionnez le pod comme selon l'image et changez la version linguistique rapide, cela peut vous faire gagner un jour

entrez la description de l'image ici

Govind Wadhwa
la source
7

Il semble que l'application puisse avoir un ancien code de version Swift comme Swift 3.0 dans votre cas. Dans la version de Xcode, la version 10.2 a lancé la version Swift 5.0. Xcode 10.2 ne prend pas en charge le compilateur pour la version Swift 3.0. Vous pouvez changer de compilateur à partir de Build Settings -> Swift Compiler - Language -> Swift Language Version -> Change it to Swift 5. Si votre code est compatible avec cette version linguistique, il exécutera le code sans erreur.

Cependant, le mode de compatibilité Swift 3 ne sera pas pris en charge dans le compilateur Swift 5. Swift 4.2 est la dernière version de Swift à prendre en charge le mode Swift 3. Il y a des changements importants à la fois à la surface du langage et à l'intérieur de son implémentation dans les versions suivant Swift 3 qui seront la base de la stabilité future (et durable) des sources et des binaires.

Reportez-vous au lien ci-dessous pour plus de détails. https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_release_notes/swift_5_release_notes_for_xcode_10_2

Si vous souhaitez vraiment exécuter l'application qui a un code de version Swift plus ancien que vous devez utiliser une version plus ancienne de Xcode. Vous pouvez utiliser la version 10.1 de Xcode, c'est un compilateur prenant en charge la version Swift 3.0.

Une autre façon alternative consiste à migrer votre ancien code Swift vers la nouvelle version de la version Swift. Vous pouvez migrer votre Swift 3.0 vers Swift 4.0 dans la version Xcode 10.1.

Pour le guide de migration, consultez ce https://swift.org/migration-guide-swift4/

Bhavin_m
la source
5

Je suis tombé sur ce problème en développant un Cocoapod. J'avais un vieux.swift-version fichier dans mon dépôt qui spécifiait Swift 3.0.

La course pod lib lint --verbosem'a conduit à cette réponse utile:

Veuillez supprimer le .swift-versionfichier qui est désormais obsolète et n'utiliser que l' swift_versionattribut dans votre podspec.

J'ai supprimé le fichier et ajouté spec.swift_version = '5.0'à mon fichier podspec pour résoudre le problème.

Justin Vallely
la source
5
  1. Regarde ça:
    1. Cliquez sur le nom du projet
    2. Cliquez sur la cible
    3. Cliquez sur Build setting
    4. Dans la version Swift Language: choisissez Swift 4

entrez la description de l'image ici

entrez la description de l'image ici

codeurs
la source
5

J'ai ouvert le fichier MyProject.xcodeproj (en utilisant l'éditeur VSCode)

et j'ai trouvé quelques lignes où

SWIFT_VERSION = 3,0;

(à environ la ligne 400 où il est dit /* Begin XCBuildConfiguration section */)

Modifiez en SWIFT_VERSION = 5.0 ou autres. Après cela, j'ai pu construire et exécuter le projet.

Dan Alboteanu
la source
3

Recherchez Swift et double-cliquez, puis modifiez chaque version incriminée.

entrez la description de l'image ici

ScottyBlades
la source
1

Si vous avez plusieurs fichiers de pod comme moi et que vous ne parvenez pas à trouver le pod avec SWIFT_Version = 3.0, essayez la barre de recherche

William
la source
0

1) changer la version du pod sur podfile (parce que la bibliothèque a écrit une ancienne version swift)

2) "installation du pod" sur le terminal

Erhan Demirci
la source
0

Je suis nouveau dans le développement iOS. Après avoir suivi toutes les réponses ci-dessus, j'ai toujours la même erreur. J'utilisais Xcode 11 et j'ai téléchargé l'exemple " FoodTracker " du site Web Apple Developer et j'ai eu la même erreur après avoir essayé de le créer. J'ai trouvé que le projet avait plusieurs paramètres faisant référence à la version linguistique de Swift après VIM le contenu du fichier de projet. J'ai donc résolu ce problème en définissant d'abord le "Projet> FoodTracker", ainsi que "TARGETS> FoodTracker" et "TARGETS> FoodTrackerTests" la version de Swift Language à 5.0. J'espère que ça aide.

Définition de la version du langage Swift sur le projet et TOUTES les cibles

Jo Poon
la source
-1
  1. ouvrez MyProject.xcodeproj / project.pbxproj dans l'éditeur (eq Sublime)

exemple Calculator.xcodeproj

  1. Renommez tous SWIFT_VERSION = 3.0; Renommez tous SWIFT_VERSION = 5,0;

entrez la description de l'image ici

Lamhot
la source