ただし、同じXcodeを使用してフレームワークを再コンパイルしましたが、それでもこのエラーが発生します。
- 両方のベースSDK iOS 11.1
- Swift言語バージョンSwift 4.0 for both
- ポッド/カルタゴを使用していない
誰かが知っているといいのですが
ただし、同じXcodeを使用してフレームワークを再コンパイルしましたが、それでもこのエラーが発生します。
誰かが知っているといいのですが
回答:
更新:
Xcodeのリリースバージョンの場合:
このエラー(およびSwift 4.1、4.2などに関連する同様のエラー)は、以前のXcodeツールで構築されたフレームワークを使用するXcode 9.1、9.2、9.3、9.4、10などでプロジェクトを開くと発生します。
この問題を修正するには、Carthage(carthage update --platform iOS
)、Cocoapods(pod update
またはpod install
)を使用して、または手動で、更新された新しいXcodeツールを使用してフレームワークを更新および再構築します。Xcodeを更新すると、ツールは自動的に更新されますが、そうでない場合は、元の回答で以下に概説されている手順に従ってください。
Xcodeがキャッシュフレームワークビルドを使用しないようにするには、プロジェクトcmd + shift + k
とビルドフォルダーをクリーンアップする必要がある場合もありますcmd + option + shift + k
。
場合によっては、派生データフォルダーも削除する必要があります(Xcodeの[設定]-> [場所]-> [派生データフォルダー(Stunnerに感謝)に移動すると簡単に見つかります)。
Xcodeのベータ版の場合:
以下の元の回答を参照してから、上記の手順に従ってください。
元の答え:
XcodebuildツールがXcode 9.0に設定されている可能性があります。これは、Swift 4.0でビルドされ、Xcode 9.1ベータのSwift 4.0.1と互換性がありません。
次のコマンドを使用してターミナルをチェックインします。
xcodebuild -version
または、単にXcode設定->場所に移動し、コマンドラインツールをチェック/変更してXcode 9.1に変更します。その後、設定する必要があります。
Swift Language Version
ためSwift 4
、これらのポッドを固定する必要がありました。その後、うまくいきました。
私の問題は、Swift 4.0.2用にコンパイルされていない外部フレームワークが原因でした。私はこのファイルをCarthage経由で追加したので、
carthage update --platform iOS
そして、プロジェクトcmd + shift + k
とビルドフォルダーcmd + option + shift + k
をクリーンアップし、派生データフォルダーを削除する(単にゴミ箱に移動するだけ)と、うまくいきました。
私の場合、SwiftUIをテストするためにxCode 11 Betaバージョンをダウンロードしました。プロジェクトを実行すると、「Swift 5.1でコンパイルされたモジュールをSwift 5.0.1コンパイラでインポートできない:...」というエラーが発生しました。
この問題を修正するには。xCodeコマンドラインツールを新しいxCode 11コメントラインツールに変更しました。その後、SwiftUIを使用して新しいxcodeプロジェクトを作成できます。
Xcode-> Preferences-> Location-> XCodeコマンドラインツール
私はこれが新しいfreameworkでテストしたい人を助けることを願っています:)
この問題は、Swift 4.2を追加するXcode 10ベータで発生しました。私の問題はCarthageや外部の依存関係とは無関係でした。
YourTarget > Build Settings > Swift Language Version
すべてのXcodeターゲットに移動します。
鉱山はすべてに設定されていました Swift 4
。
ファイルコピービルドフェーズを追加した後、エラーが発生し始めました
:0:エラー:Swift 4.1.2でコンパイルされたモジュールは、Swift 4.2コンパイラーではインポートできません:/Users/user/Library/Developer/Xcode/DerivedData/MyApp-faskfrihumfcdibjxisjvbfshppp/Build/Intermediates.noindex/MyApp.build/Debug/ MyAppExtension.build/Objects-normal/x86_64/MyClass~partial.swiftmodule
コマンドMergeSwiftModuleがゼロ以外の終了コードで失敗しました
私はその後、各ターゲットの設定Swift Language Version
にSwift 4.2
エラーを排除し、。
ただし、最初にエラーが発生した理由はわかりません。すべてのターゲットを設定するSwift 4
ことは同じように有効であるべきだからです。
Build Settings
私の場合(Xcode 9.2):
Xcodeに行ってきました Preferences > Locations > Derived Data
次に、データを削除してクリーンビルドを実行しましたが、問題はありませんでした。
私の場合、cocoapods-binary
ライブラリをバイナリに事前構築するためにプラグインでCocoaPods を使用しました。Xcodeを10から11にアップグレードした後、Xcodeで次のエラーが発生します。
Module compiled with Swift 5.0.1 cannot be imported by the Swift 5.1 compiler
/Pods
ディレクトリを削除して実行することで修正しpod install
ます。
私の場合、私はフレームワークを不平を言っていたバージョンで再コンパイルしました。
pod update
カルセージ(どちらか使用しているもの)を再コンパイル、実行、または更新して、プロジェクトをビルドします。
次に、ファインダーでフレームワークを検索します。をtheFramework.framework
プロジェクトにコピーして貼り付け、「必要に応じてアイテムをコピーする」ことを確認してください。プロジェクトを再度ビルドすると、機能するはずです。