web-dev-qa-db-fra.com

"Swift Language Version" (Swift_VERSION) doit être configuré correctement pour les cibles qui utilisent Swift.

Je viens de faire la dernière mise à jour de Xcode (8.3), et j'ai le message: 

“Swift Language Version” (Swift_VERSION) doit être configuré correctement pour les cibles qui utilisent Swift. Utilisez le menu [Edition> Convertir> Vers la syntaxe actuelle de Swift…] pour choisir une version de Swift ou utilisez l'éditeur de paramètres de construction pour configurer directement le paramètre de construction.

Sachant que l'option "Utiliser l'ancienne version du langage Swift" a été supprimée des paramètres de construction, comment puis-je générer mon application dans Swift 2.3 sans effectuer de conversion pour l'instant?

15
ΩlostA

Tu ne peux pas. XCode 8.2 était la dernière version à prendre en charge Swift 2.3. Vous devez mettre à jour vers Swift 3 ou utiliser Xcode 8.2.

10
VojtaStavik

Dans la barre de sélection du navigateur, cliquez sur la loupe, puis recherchez "Swift_VERSION". Vous trouverez dans le projet les emplacements où vous pourrez ajuster la version de Swift en conséquence. 

 enter image description here

 enter image description here

17
ScottyBlades

Pour modifier par programme la version des pods Swift, vous pouvez ajouter ceci dans votre podfile.

post_install do |installer|
    installer.pods_project.targets.each do |target|
        if ['Alamofire','OtherPod','AnotherPod'].include? target.name
            target.build_configurations.each do |config|
                config.build_settings['Swift_VERSION'] = '4.0'
            end
        end
    end
end

Dans Swift 4, si vous utilisez également Objective-C,

vous pouvez activer l'inférence @objc pour que le projet Swift fonctionne correctement sur objective-c.

post_install do |installer|
    installer.pods_project.targets.each do |target|
        if ['Alamofire','OtherPod','AnotherPod'].include? target.name
            target.build_configurations.each do |config|
                config.build_settings['Swift_SWIFT3_OBJC_INFERENCE'] = 'On'
            end
        end
    end
end
4
Ted

Modifier la version linguistique de Swift en version prise en charge dans les paramètres de construction

 enter image description here

2
Ankit garg

Bon sang vous Xcode, maintenant je dois migrer vers Swift 3.0. Il affiche clairement cette alerte lors de l’ouverture ou de la construction d’un ancien projet avec Swift 2.3.

 enter image description here

2
satheeshwaran

Vous ne pouvez pas car XCode 8.2 était la dernière version à supporter Swift 2.3. Vous devrez mettre à jour votre code vers Swift 3 ou utiliser Xcode 8.2.

2
Sneha

Dans mon cas, j'ai sélectionné Pod et changé la version de Swift pour un pod spécifique. Cela fonctionne pour moi.

 enter image description here

1
pallavi