xcode 9(swift version 3.2)でフレームワークバイナリをコンパイルしました。また、xcode 8.3.3とswift 3.2の構文でも動作させたいと思っています。しかし、私はxcode 9でコンパイルされたフレームワークでプロジェクトを実行しようとするとModule compiled with Swift 4.0 cannot be imported in Swift 3.1
エラーメッセージが表示され続けました。この作業を行うためにどのオプションを追加する必要がありますか? pod Intercom
はxcode 8.3.3と9の両方で動作するため、これが可能です。アドバイスをいただければ幸いです。Swift 4.0でコンパイルされたモジュールは、Swift 3.1のフレームワークバイナリでインポートできません
答えて
Swiftの新しいバージョンを使用してコンパイルされたモジュールは、古いバージョンのSwiftを使用しているプロジェクトでは使用できません明らかな理由から。より新しいSwiftバージョンを使用してコンパイルされたフレームワークは、新しいSwift構文および/またはAPIを使用している可能性があります。新しいSwiftバージョンでしか使用できなくなり、より新しい構文またはAPIを使用するフレームワークから関数を呼び出すことができなくなります。この問題は、SwiftがまだABI安定していないことが原因です。このトピックの詳細については、ABI Stability Manifestoを参照してください。
Swift3.2はSwift3-> 4変換を容易にするためにXcode9の一部として導入されました。 Xcode8.3.3はSwift 3.1のみをサポートしていますが、Xcode9はSwift 3.2以上をサポートしているため、主要な両方のXcodeバージョンで使用できるようにフレームワークをコンパイルすることはできません。
フレームワークのバイナリリリースでXcode8とXcode9の両方をサポートしたい場合、異なるSwiftコンパイラバージョンを使用してコンパイルされた異なるバージョンを提供する必要があります。 Cocoapods/Carthageを使用する動的フレームワークに関しては、#if swift(>=3.2)
のような条件付きコンパイルブロックを使用して、複数のバージョンのSwiftコンパイラと互換性のあるコードを記述することができます。詳細については、The Swift Programming Language (Swift 4) - Version compatibilityを参照してください。
私はそれを得ていますが、https://github.com/intercom/intercom-iosインターコムは何とかこの問題を克服しています。 Xcode 8と9の両方で 'cocoapods 'を使ってインターコムをインストールし、そのフレームワークはバイナリ形式です。 – REALFREE
- 1. Swift 3.1でコンパイルされたモジュールはSwift 4.0にインポートできません
- 2. Swift 3.0.2でコンパイルされたモジュールはSwift 3.1でインポートできません
- 3. Swift 4.0でコンパイルされたモジュールは、Swift 3.2.2にインポートできません。AudioKit
- 4. Swift 4.0でコンパイルされたモジュールはSwift 4.0.1にインポートできません
- 5. Swift 4.0でコンパイルされたRealmのSwiftモジュールはSwift 4.0.2にインポートできません
- 6. 手動でフレームワークを追加する - Swift 4.0でコンパイルされたモジュールはSwift 4.0.3でインポートできません
- 7. Swift 4.0でコンパイルされたモジュールはSwift 3.2.2でインポートできません - XCode 9.1以降
- 8. Cocoapods - Swift 3.0でコンパイルされたモジュールはSwift 3.0.1にインポートできません
- 9. Xcode 9:Swift 3.0.2でコンパイルされたモジュールはSwift 3.2にインポートできません
- 10. Swift 2.3でコンパイルされたモジュールはSwift 3.0にインポートできません
- 11. swift 4.0でコンパイルされたモジュールをswift 3.0.2にインポートすることはできません
- 12. Carthageで3.0.2でコンパイルしたSwift 3.1モジュールでSwiftyJsonをインポートできません
- 13. RealmSwift:Swift 3.0でコンパイルされたモジュールはSwift 3.0.2でインポートできません
- 14. ReactiveCocoa、Swift 2.3でコンパイルされたモジュールは、Swift 3.0の問題ではインポートできません。直し方?
- 15. Xcode 9のプレイグラウンドはSwift 4.0でコンパイルされています
- 16. Xcode 9.1でSwift 4.0でコンパイルされたフレームワークを実行
- 17. カレンダー返されません.weekday swift 3.1
- 18. Swift deep NSObjectsはコンパイルされません
- 19. _ArrayTypeまたは_ArrayProtocolはSwift 3.1では使用できませんか?
- 20. Swift 3.1 - フェイスブックの友達のIDを取得できません
- 21. Xcode 8のKituraでSwiftパッケージをコンパイルできません。
- 22. swift NSURL swift 3.1
- 23. SwiftアプリケーションでFirebaseをインポートできません
- 24. SwiftフレームワークでCommon Cryptoをインポートできません
- 25. SwiftをSwiftコアライブラリでコンパイル
- 26. 私の細工されたモジュールでモジュールをインポートできません
- 27. XcodeでVisualRecognitionV3をインポートしようとすると、swift 3.0でコンパイルされたエラーモジュールがswift 3.0.2でインポートできないのですか?
- 28. Objective-CのSwift 3.1への変換エラー「Any」は変換できません
- 29. xcode 7 + coredata:コンパイル中のモジュールをインポートできません
- 30. Ubuntuにpipインストールされたモジュールをインポートできません
私のフレームワークは3.1,3.2をサポートしていないとは思いません。 xcode 8.3.3プロジェクトでは、迅速なプロジェクトオプションを見つけることができません。 – REALFREE