web-dev-qa-db-ja.com

Swift 3.0でコンパイルされたモジュールは、Swift 2.3

これが私がすることです:

import BSTableViewReorder

そして、次のエラーを取得します。

Swift 3.0でコンパイルされたモジュールは、Swift 2.3

コンパイルするにはどうすればよいですか?やった:

Edit > Convert -> Current Swift Syntax

Xcode 8とmacOS Sierraを使用します

両方の場合:ターゲットとプロジェクトでは、Use Legacy Swift Language Version

enter image description hereenter image description here

プロジェクトは、cocoapods依存関係の私のポッドです。プロジェクトをSwift 3.0に変換しましたが、コンパイルしません。

Use Legacy Swift Language VersionNOに変更する必要があります-これにより、プロジェクトでSwift 3。

プロジェクトをPOD(cocoapods用)としてパッケージ化する場合は、.Swift-versionという名前のファイル(1つの単一行「3.0」を含む)を追加する必要があります。これは、cocoapodsにSwift 3コンパイラーを使用するように指示します。

この変更後にすべてが機能するはずです。

27
Eugen Dimboiu

サードパーティのフレームワークを使用している場合は、Xcode 8.1用に一度更新して、レガシーSwift言語バージョンをNOに変更します。

0
Payal

上記の提案がうまくいかない場合は〜Library/Developer/Xcode/DerivedDataを削除してみてください

0
mtc

私の場合、フレームワーク開発者はPodfileを対象としたコードに次の行を追加しました。

config.build_settings['Swift_VERSION'] = '2.3' # or '3.0'

ご覧のとおり、デフォルトは「2.3」でしたが、3.0を実行しているために問題が発生しました。単に'2.3' # orを削除して'3.0'を残すだけで問題が修正されました。

0
shoe