web-dev-qa-db-ja.com

「レガシーSwift言語バージョン」(Swift_VERSION)を使用して、Swiftを使用するターゲットに正しく設定する必要があります。」

Xcode 8.2(App StoreからのGMシード)に更新して以来、次のエラーが発生しています。

レガシーを使用するSwift言語バージョン "(Swift_VERSION)は、Swiftを使用するターゲットに対して正しく設定する必要があります。[編集>変換>現在のSwift構文…]メニューでSwiftバージョンを選択するか、ビルド設定エディターを使用してビルド設定を直接構成します。

そこで、ターゲットのBuild Settingsに行き、Swift_VERSION間違っていた場所を確認します。しかし、すでにNo!に設定されていることに驚いた。

どうすれば修正できますか?

17
Vatsal Manot

Xcode 8は、存在しない(誤って「ファントム」)を誤って表示しているようですNo。これには簡単な修正があります。

  1. Swift_VERSIONの横にある小さな矢印をクリックして、ドロップダウンリストを切り替えます。
  2. DebugおよびReleaseの値をYesに設定します。
  3. DebugおよびReleaseの値をNoに戻します。

以下の画像は、DebugNoに設定した直後に撮影したものです。 Xcodeは、DebugReleaseの両方がNoに設定されていることを示していますが、Swift_VERSION<Multiple Values>を読み取ります:

enter image description here

これから、私はそれがバグであるとのみ結論づけることができます。また、一部の値(または、おそらくNULL値)がNoとして誤って表示されていること。

15
Vatsal Manot

ポッドalamofireでターゲットを選択し、「Swift_VERSION」を検索して、Swift3を選択してください。 enter image description here

17
Prakash Raj

Xcode 8.3.2へ:

ビルド設定> Swiftコンパイラ-バージョン>変更Swiftバージョン

.... works

7
Minja

念のため、他の誰かが私と同じ問題に遭遇した場合に備えて

私はアプリストアで起動する準備ができていたアプリを持っていましたが、私は待っていました、その間Xcode 9ベータ版に更新し、いじって、私のアプリのいくつかのことを変更しました。それをアプリストアにアップロードし、ベータ版を使用してアップロードできないと言ったので、Xcode 8に戻りましたが、「Swift Language Version」(Swift_VERSION)...エラーが表示され始めました。

私の修正

プロジェクトの[ビルド設定]> Swift Compiler Version> [これをSwift 4(currently not supported)からSwift 3に変更する必要がありました。

問題が解決しました :)

2
Timmy Sorensen

ファントムNo answerは動作します。 XCodeが破損する本当の理由は、Apple XCodeの「レガシー設定を使用」が実際にSwiftバージョン番号です。したがって、バージョンをSwift 3.0に切り替える必要があります。これは理にかなっています。XCode8.1のバグだったと思います。

私のgit 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;

上記のコメントには同じ答えがありますが、もっと目立つ必要があると思います。

1
Tom Andersen

昨日も同じ問題がありました。修正手順:

  1. ビルド設定-> Swiftを検索、レガシー使用Swift言語バージョン

  2. Noをyesに切り替え->ビルド。さらにエラーが発生します。

  3. 戻るからはいに切り替えました。ビルド->成功!

いつかApple私たちを夢中にさせる:)

全部終わった。

0
xcodedeveloper

「Use Legacy Swift Language Version ..」について同じ問題が発生しました。バージョンを設定することで解決しました。問題を解決するためのヒントは次のとおりです。

  1. ターゲットを開くと、「Convert to Current Swift Syntax」への通知が表示されます。「Later」を選択する必要があります。次に、「Later」を選択します。 。
  2. ターゲットが既にCocoaPodsを追加している場合は、そのコードをpodFileの最後に追加してください:

    post_install do | installer | installer.pods_project.targets.each do | target | target.build_configurations.each do | config | config.build_settings ['Swift_VERSION'] = '3.0' end end end

そのコードを追加した後、cocoaPodsを更新してください。

  1. ポッドファイルをクリックすると、すべてのサードパーティライブラリリストが表示されます。すべてのライブラリの「ビルド設定」を見つけ、「レガシーSwift言語バージョン)」タイプを検索し、その値をYESに設定します。
  2. いくつかの警告またはエラーが存在する可能性があります。バージョンのアップロードに起因するもので、赤い丸のプロンプトで修正できます。

----- cocoaPodsを追加しない場合、ターゲットのバージョンをYESに設定できます(TARGETS-> Build Setting-> Use Legacy Swift Language Version-> YES)あなたを助けることができます。

0
ZQ.delog