Xcode 8.2(App StoreからのGMシード)に更新して以来、次のエラーが発生しています。
レガシーを使用するSwift言語バージョン "(Swift_VERSION)は、Swiftを使用するターゲットに対して正しく設定する必要があります。[編集>変換>現在のSwift構文…]メニューでSwiftバージョンを選択するか、ビルド設定エディターを使用してビルド設定を直接構成します。
そこで、ターゲットのBuild Settingsに行き、Swift_VERSION
間違っていた場所を確認します。しかし、すでにNo
!に設定されていることに驚いた。
どうすれば修正できますか?
Xcode 8は、存在しない(誤って「ファントム」)を誤って表示しているようですNo
。これには簡単な修正があります。
Swift_VERSION
の横にある小さな矢印をクリックして、ドロップダウンリストを切り替えます。Debug
およびRelease
の値をYes
に設定します。Debug
およびRelease
の値をNo
に戻します。以下の画像は、Debug
をNo
に設定した直後に撮影したものです。 Xcodeは、Debug
とRelease
の両方がNo
に設定されていることを示していますが、Swift_VERSION
は<Multiple Values>
を読み取ります:
これから、私はそれがバグであるとのみ結論づけることができます。また、一部の値(または、おそらくNULL値)がNo
として誤って表示されていること。
Xcode 8.3.2へ:
ビルド設定> Swiftコンパイラ-バージョン>変更Swiftバージョン
.... works
念のため、他の誰かが私と同じ問題に遭遇した場合に備えて
私はアプリストアで起動する準備ができていたアプリを持っていましたが、私は待っていました、その間Xcode 9ベータ版に更新し、いじって、私のアプリのいくつかのことを変更しました。それをアプリストアにアップロードし、ベータ版を使用してアップロードできないと言ったので、Xcode 8に戻りましたが、「Swift Language Version」(Swift_VERSION)...エラーが表示され始めました。
私の修正
プロジェクトの[ビルド設定]> Swift Compiler Version> [これをSwift 4(currently not supported)
からSwift 3
に変更する必要がありました。
問題が解決しました :)
ファントム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;
上記のコメントには同じ答えがありますが、もっと目立つ必要があると思います。
昨日も同じ問題がありました。修正手順:
ビルド設定-> Swiftを検索、レガシー使用Swift言語バージョン
Noをyesに切り替え->ビルド。さらにエラーが発生します。
戻るからはいに切り替えました。ビルド->成功!
いつかApple私たちを夢中にさせる:)
全部終わった。
「Use Legacy Swift Language Version ..」について同じ問題が発生しました。バージョンを設定することで解決しました。問題を解決するためのヒントは次のとおりです。
ターゲットが既に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を更新してください。
----- cocoaPodsを追加しない場合、ターゲットのバージョンをYESに設定できます(TARGETS-> Build Setting-> Use Legacy Swift Language Version-> YES)あなたを助けることができます。