アプリからダウンロードして実行しようとしていますが、Xcodeで開こうとするとエラーが発生します。
"最近のメッセージを表示
:-1:SWIFT_VERSION '3.0'はサポートされていません。サポートされているバージョンは4.0、4.2、5.0です(ターゲット 'SimpleWeather'内)。"
アプリからダウンロードして実行しようとしていますが、Xcodeで開こうとするとエラーが発生します。
"最近のメッセージを表示
:-1:SWIFT_VERSION '3.0'はサポートされていません。サポートされているバージョンは4.0、4.2、5.0です(ターゲット 'SimpleWeather'内)。"
回答:
********最も簡単な方法:**********
1.左側の列にあるPODをクリックします。
2.中央の列で目的のポッドを選択し、右上のパネルの[ビルド設定]に移動します。
3.「Swift言語バージョン」を検索し、既知のバージョンに変更します。
Xcode 10.1の場合は、ポッドファイルを選択します
->ビルド設定に移動します->ポッドを選択します->「Swift」を検索します->「Swift言語バージョン」に移動します->目的の言語バージョンに設定します
3.x
、あなたはより大きいのXcodeのバージョンを持っている10.2
このページの指示に従いましたが、エラーは解決しませんでした。最後に、入りました
$ vim MyProject.xcodeproj/project.pbxproj
そして、2つのインスタンスが見つかりました
SWIFT_VERSION = 3.0;
まだ参照されていました。これらを5.0に変更すると、エラーは発生しなくなりました。なぜこれら2つがまだ存在していたのかはわかりません。
あなたの場合、アプリにはSwift 3.0のような古いSwiftバージョンコードが含まれている可能性があります。Xcodeバージョン10.2のリリースでは、Swift 5.0バージョンがリリースされました。Xcode 10.2はSwift 3.0バージョンのコンパイラをサポートしていません。コンパイラはから変更できますBuild Settings -> Swift Compiler - Language -> Swift Language Version -> Change it to Swift 5
。コードがその言語バージョンと互換性がある場合、エラーなしでコードが実行されます。
ただし、Swift 5コンパイラーではSwift 3互換モードはサポートされません。Swift 4.2は、Swift 3モードをサポートするSwiftの最後のリリースです。Swift 3以降のリリースでは、言語の表面と実装の内部の両方に重要な変更があり、将来の(そして永続的な)ソースとバイナリの安定性の基礎となります。
詳細については、以下のリンクを参照してください。 https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_release_notes/swift_5_release_notes_for_xcode_10_2
Swiftバージョンコードが古いアプリを実行したい場合は、古いバージョンのXcodeを使用する必要があります。Xcodeバージョン10.1を使用できます。これは、Swift 3.0バージョンをサポートするコンパイラーです。
別の代替方法は、古いSwiftコードをSwiftバージョンの新しいバージョンに移行することです。Xcode 10.1バージョンのSwift 3.0からSwift 4.0に移行できます。
移行ガイドについては、このhttps://swift.org/migration-guide-swift4/を参照して ください
Cocoapodの開発中にこの問題に遭遇しました。私は古い.swift-version
私のリポジトリにはSwift 3.0を指定しファイルがありました。
実行すると、pod lib lint --verbose
私はこの役立つ応答につながりました:
.swift-version
現在非推奨となっているファイルを削除し、swift_version
podspec内の属性のみを使用してください。
ファイルを削除spec.swift_version = '5.0'
し、podspecファイルに追加して問題を修正しました。
iOS開発は初めてです。上記の回答をすべて実行しても、同じエラーが発生します。Xcode 11を使用していて、Apple Developer Webサイトから「FoodTracker」サンプルをダウンロードしましたが、ビルドしようとすると同じエラーが発生しました。プロジェクトには、VIMプロジェクトファイルコンテンツの後のSwift言語バージョンを参照するいくつかの設定があることがわかりました。そこで、最初に「プロジェクト> FoodTracker」、および「TARGETS> FoodTracker」と「TARGETS> FoodTrackerTests」のSwift言語バージョンを5.0に設定することで、これを解決しました。それが役に立てば幸い。