Xcodeのビルドエラー:Module compiled with Swift 5.1.3 cannot be imported by the Swift 5.2 compiler が出た時

Module compiled with Swift 5.1.3 cannot be imported by the Swift 5.2 compiler

↓Google翻訳

Swift 5.1.3でコンパイルされたモジュールは、Swift 5.2コンパイラーではインポートできません

そりゃそうだ。モジュールのアップデートが必要なので、Carthageをアップデートする。(モジュール≒ライブラリ)

Swift製のライブラリ管理はCarthageとCocoaPodsを使っていますが、今回のエラーはCarthageで管理しているものなので、terminalで以下を実行。

Carthageのアップデート

% cd /path/to/project
% carthage update --platform iOS

updateプロセス中にエラーが発生してプロセスが完了せず強制終了に。

Swift製ライブラリ管理ツール「Carthage」を使うメリットには、コンパイル時間が短くなる(≒ビルド時間の短縮)というのがありますが、要するにライブラリのビルドを部分的にキャッシュ化しているからで、update強制終了したのはキャッシュがあるよ的な理由(だと思う)。

なので、Carthageのキャッシュを削除するため再びteminalで以下を実行。

Carthageのキャッシュを削除

% cd /Users/{UserName}/Library/Caches/
% sudo rm -r org.carthage.CarthageKit

そうしたらば、再度Carthageのアップデート

Carthageのアップデート

% cd /path/to/project
% carthage update --platform iOS

アップデート完了したら、念のため次の手順でビルド

1. Xcodeを再起動
2. アプリのworkspaceを開く
3. Xcode > Product > Clean Build Folderを実行
4. Deviceを適当に選んでビルド開始

以上でビルドできました。わーい

この記事が気に入ったらサポートをしてみませんか?