🤝

KMPで「import shared」が機能しない時の対処法Ⅱ

2024/11/10に公開

はじめに

Android StudioでKotlin Multiplatform(KMP)を使用してiOSアプリを作成し、Xcodeでそのアプリを開いた際にimport sharedでモジュールが正しくインポートされず、「No such module 'shared'」というエラーが発生してしまいました。

一度は「KMPで「import shared」が機能しない時の対処法」という記事に記載している方法で問題を解消したのですが、再び同じエラーが発生してしまいました。

この記事は、私がCocBan開発メンバー達とその問題を解決した方法をまとめたものになります。

私の動作環境

  • MacBook Air M1 2020
  • メモリ 16GB
  • MacOS Sonoma 14.7

結論

sharedディレクトリ内のbuild.gradle.ktsファイルに記述されているco.touchlab.skieプラグインのバージョンを以下のように更新することで解決しました。

build.gradle.kts
plugins {
    id("co.touchlab.skie") version "0.9.3"
}

説明

co.touchlab.skieは、KotlinからSwiftへのAPI公開を強化するためのGradleプラグインです。
iOSとAndroidの間でコードを共有する環境を整える目的で利用され、依存関係の管理やモジュールの構成、ビルドプロセスのサポートなどの機能を提供してくれます。
また、SKIEは「Swift Kotlin Interface Enhancer」の略称です。

このバージョンを上げることで、依存関係の処理やモジュールのリンクのサポートの問題を改善してくれる可能性があります。

これによって、私はKMPプロジェクトのビルドに成功しました!

さいごに

ここまで記事を読んでくださり、ありがとうございました!

この記事が皆さんのKMP開発の手助けになることができれば幸いです!

皆さんも素敵なハッピーKMPライフを!!!🌸

GitHubで編集を提案
CocBan Tech Blog

Discussion