webentwicklung-frage-antwort-db.com.de

Die Swift-Sprachversion (Swift_VERSION) muss für Ziele, die Swift verwenden, korrekt konfiguriert sein

Ich habe gerade das letzte Xcode-Update (8.3) durchgeführt, und ich habe die Nachricht: 

"Swift Language Version" (Swift_VERSION) muss für Ziele, die Swift verwenden, korrekt konfiguriert sein. Verwenden Sie das Menü [Bearbeiten> Konvertieren> In aktuelle Swift-Syntax…], um eine Swift-Version auszuwählen, oder verwenden Sie den Editor für Build-Einstellungen, um die Build-Einstellungen direkt zu konfigurieren.

Wenn Sie wissen, dass die Option "Legacy Swift Language Version verwenden" gerade aus den Build-Einstellungen entfernt wurde, wie kann ich meine App in Swift 2.3 generieren, ohne jetzt eine Konvertierung durchzuführen?

15
ΩlostA

Du kannst nicht XCode 8.2 war die letzte Version, die Swift 2.3 unterstützte. Sie müssen entweder auf Swift 3 aktualisieren oder Xcode 8.2 verwenden.

10
VojtaStavik

Klicken Sie in der Navigationsleiste des Navigators auf die Lupe, und suchen Sie nach "Swift_VERSION". Sie finden die Stellen im Projekt, an denen Sie die Swift-Version entsprechend anpassen können. 

 enter image description here

 enter image description here

17
ScottyBlades

Um die Swift-Version der Pods programmgesteuert zu ändern, können Sie diese in Ihrer Pod-Datei hinzufügen

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

Wenn Sie in Swift 4 auch Objective-c verwenden,

sie können @objc-Inferenz aktivieren, damit das Swift-Projekt auf Ziel-c ordnungsgemäß ausgeführt wird.

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

Ändern Sie die Swift-Sprachversion in den Build-Einstellungen in die unterstützte Version

 enter image description here

2
Ankit garg

Verdammt noch mal Xcode, jetzt muss ich auf Swift 3.0 umsteigen. Diese Warnung wird beim Öffnen oder Erstellen eines alten Projekts mit Swift 2.3 deutlich angezeigt.

 enter image description here

2
satheeshwaran

Sie können nicht, da XCode 8.2 die letzte Version war, die Swift 2.3 unterstützt. Sie müssen entweder Ihren Code auf Swift 3 aktualisieren oder Xcode 8.2 verwenden.

2
Sneha

In meinem Fall ... habe ich den Pod ausgewählt und die Swift-Version für einen bestimmten Pod geändert. Das funktioniert für mich.

 enter image description here

1
pallavi

Aktualisiert, es funktioniert bei mir:

Schritt 1: Gehe in deinen ios-Ordner und öffne die Poddatei und führe die folgenden einfachen Änderungen durch.

erste Änderung:

target 'Runner' do
      use_frameworks! # <--- add this single line
      # Prepare symlinks folder. We use symlinks to avoid having Podfile.lock
      # referring to absolute paths on developers' machines.
      system('rm -rf .symlinks')
      system('mkdir -p .symlinks/plugins')

zweite Änderung:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['ENABLE_BITCODE'] = 'NO'
      config.build_settings['Swift_VERSION'] = '3.2' # <--- add this single line
    end
  end
end

Schritt 2: Öffnen Sie Ihr aktuelles Arbeitsprojekt von Xcode aus.

Add an empty Swift file to your Flutter iOS project in Xcode and accept to add bridging header.

Schritt 3: Terminal öffnen und erneut mit dem folgenden Befehl installieren;

pod install

Wenn das Projekt bereits geöffnet ist, schließen Sie es und öffnen Sie es erneut, z. B. IhreProjektname.xcworkspace-Datei. Bereinigen und erstellen Sie es.

0
Kiran jadhav