web-dev-qa-db-ja.com

Swift 4.0でコンパイルされたモジュールは、Swift 3.2.1にインポートできません。

Swift 4.0モジュールは、Swift 3.2アプリとXcode 9.0で問題ありませんでした。

しかし、今、Xcode 9.1では、

Swift 4.0でコンパイルされたモジュールは、Swift 3.2.1にインポートできません。

または:

Swift 4.0でコンパイルされたモジュールはSwift 4.0.1にインポートできません

9
Cœur

Swift 4.0はSwift 3.2とのみ互換性があります。
Swift 4.0.1はSwift 3.2.1とのみ互換性があります。

そう:

  • 4.0と3.2.1を混在させることはできません
  • 4.0.1と3.2を混在させることはできません
  • 4.0と4.0.1を混在させることはできません
  • 3.2.1と3.2を混在させることはできません

別の方法で作成するには:

  • xcode 9.0をサポートするSwiftバージョンを一緒に混在させることができます
  • xcode 9.1がサポートされているSwiftバージョンを混在させることができます
  • xcode 9.0とXcode 9.1を混在させることはできませんSwiftバージョン

モジュールが自分でビルドした場合は、同じXcodeを使用して再ビルドするだけです。
モジュールがサードパーティによってビルドされた場合、Xcode 9.1互換ビルドをリクエストします。

10
Cœur

Xcode 9.0 toolchain をインストールし、それを使用してプロジェクトをビルドすることで、Swift 3.2を使用してビルドできます。

Swift Toolchain Image

次に、Xcode-> ToolchainsメニューでSwift 4.0リリースを選択します。

Xcode 9.1 b2では、Swift 3.2または4.0のいずれかでビルドできるようになります。

7
Hung Truong

Xcodeの最新バージョンを使用してこの問題を解決しました

0
Sob7y