web-dev-qa-db-ja.com

xcode 8 Swift「レガシーを使用Swift言語バージョン」で更新

Xcode 8でプロジェクトを開くと、次のエラーが発生しました

Use Legacy Swift Language Version” (Swift_VERSION) is required to be configured correctly for targets which use Swift. Use the [Edit > Convert > To Current Swift Syntax…] menu to choose a Swift version or use the Build Settings editor to configure the build setting directly

stackOverflowで同様の post を参照し、レガシーSwift言語バージョンYES/NOを使用します。

助けてください。

Use Legacy Swift Language Version to options YES/NO添付のスクリーンショットを確認してください Use Legacy Swift Language Version-YES

Use Legacy Swift Language Version-NO

19
rakex

これをポッドファイルに追加します。

# Uncomment this line to define a global platform for your project
platform :ios, '9.0'
# Uncomment this line if you're using Swift
use_frameworks!

target 'yourappname' do

pod 'yourpodlists'

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

Pod-installを再度実行します。 cdm + alt + shift + kを使用してプロジェクトをクリーンアップします。 cmd + shift + kを使用して再度クリーニングします。 Xcodeを再起動します。ビルド。これで動作するはずです。

Cocoapodsを使用していない場合は、コンパイラバージョン属性Use Legacy Swift Language VersionをunspecifiedからYesまたはNoに設定することにより、この問題を修正できるはずです。

プロジェクトまたはライブラリのビルド設定->

enter image description here

16
David Seek

enter image description hereXcode 8.3.3を使用しています.

Here are the steps.
1=> select your target from Xcode
2=> go to build setting
3=> search for "Swift Language Version"
4=> change it to Swift 3. (or accordingly.)
2
Aklesh Rathaur

SwiftコードをSwift3に変換するか、またはSwift 2.3。編集->変換->現在のSwiftに-> select Swift 3またはSwift 2.3。これは機能します。

2
Savitha

ポッドを使用していない場合、これをInfo.plistに追加するだけです-私は2.3 enter image description here

オプションがビルド設定にリストされていなかったため。

0
slashlos

this への参照として、これは私が結論付けたものです(Xcode 8の場合):

  1. コードがSwift version = 2.3にある場合は、ビルド設定でUse Legacy Swift Language VersionをYESに設定するだけでよいのです。
  2. コードがSwift version <2.3 thenの場合:

    i)コードをSwift 2.3に変換し、「レガシーSwift言語バージョン= YES 'を設定」

    [〜#〜] or [〜#〜]

    ii)コードを最新のSwiftバージョン(3.0になる可能性があります)に変換し、「レガシーSwift言語バージョン= NO 'を使用)

私の場合、Swift 2.2にある外部ライブラリを使用してXcode 8.0でエラーが発生したため、同じライブラリをSwiftバージョン2.3および上記のソリューション2.i)で使用しました。

これがこの問題の解決策を探している人の助けになることを願っています。

0
iAkki