Depuis que j'ai mis à jour Xcode 8.2 (graine GM de l'App Store), je suis bloqué à l'erreur suivante:
Use Legacy Swift Language Version ”(Swift_VERSION) doit obligatoirement être configuré correctement pour les cibles utilisant Swift. Utilisez le bouton [Edit> Convertir> Vers la syntaxe Swift actuelle…] pour choisir une version Swift ou utilisez l'éditeur de paramètres de construction pour configurer directement le paramètre de construction.
Je suis donc allé dans Paramètres de construction de ma cible et j'ai recherchéSwift_VERSION
pour voir où je me suis trompé. Cependant, j'ai été surpris de constater qu'il était déjà réglé surNo
!
Comment puis-je réparer ça?
Xcode 8 semble afficher à tort un non-existant ("fantôme", si vous voulez) No
. Il y a un correctif trivial pour cela:
Swift_VERSION
pour basculer dans la liste déroulante.Debug
et Release
à Yes
.Debug
et Release
à No
.L'image ci-dessous a été prise juste après le réglage de Debug
sur No
. Xcode montre que Debug
et Release
sont définis sur No
, mais Swift_VERSION
lit <Multiple Values>
:
A partir de cela, je ne peux que conclure que c'est un bug; et qu'une valeur (ou plus probablement une valeur nulle) est représentée sous la forme No
.
Xcode 8.3.2 aller à:
Paramètres de construction> Compilateur Swift - Version> changer la version de Swift
....travaux
Juste au cas où quelqu'un d'autre se heurterait au même problème que je viens d'avoir.
J'avais une application prête à être lancée sur l'App Store, mais j'attendais. En attendant, je me suis mise à jour vers la version bêta de Xcode 9 et je déconnais, j'ai changé quelques éléments de mon application. Je suis allé le télécharger sur l'App Store et il a été dit que vous ne pouviez pas utiliser les versions bêta, donc je suis retourné à Xcode 8, mais il a commencé à me donner l'erreur «Swift Language Version» (Swift_VERSION) ...
Mon correctif
Dans votre projet Paramètres de construction> Version du compilateur Swift>, je devais le changer de Swift 4(currently not supported)
à Swift 3
.
Problème résolu :)
Le fantôme Aucune réponse ne fonctionnera. La vraie raison pour laquelle XCode est cassé est parce qu'Apples XCode "use legacy setting" est vraiment un numéro de version Swift. Dans XCode 8.1, "Non" est traduit en 3.0.1, dans XCode 8.2, "Non" est traduit en 3.0. Vous devez donc passer de la version à Swift 3.0. Ce qui a du sens. Était un bug dans XCode 8.1 je suppose.
Mon diff diff:
--- a/ios/myapp.xcodeproj/project.pbxproj
+++ b/ios/myapp.xcodeproj/project.pbxproj
@@ -1757,7 +1757,7 @@
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
Swift_OPTIMIZATION_LEVEL = "-Onone";
- Swift_VERSION = 3.0.1;
+ Swift_VERSION = 3.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
Je vois un commentaire ci-dessus qui a la même réponse pense simplement qu'il faut se démarquer plus.
J'ai eu le même problème hier. Étape fixe:
Configurer les paramètres -> rechercher Swift, choix utiliser l'ancienne version linguistique de Swift
Basculé non à oui -> construire. Vous aurez plus d'erreur.
Retour bascule oui à non. construire -> succès!
Parfois, Apple nous rend si fous :)
Terminé.
J'ai eu le même problème à propos de "Utiliser la version du langage Swift Legacy ..", je l'ai résolu en définissant la version. Les astuces pour résoudre le problème sont les suivantes:
Si votre cible a déjà ajouté CocoaPods, veuillez ajouter ce code à la fin de votre podFile:
post_install do | installer | installer.pods_project.targets.eachdo | target | target.build_configurations.eachdo | config | config.build_settings ['Swift_VERSION'] = '3.0' end end end
après avoir ajouté ce code, veuillez mettre à jour cocoaPods.
----- Si vous n’ajoutez pas cocoaPods, vous pouvez définir la version des cibles sur OUI (CIBLES-> Paramètre de construction -> Utiliser la version en langage Swift héritée -> OUI) J'espère que cela peut vous aider.