KMPで「import shared」が機能しない時の対処法Ⅱ
はじめに
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
プラグインのバージョンを以下のように更新することで解決しました。
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ライフを!!!🌸
地域のためのコミュニケーションアプリ「CocBan」のテックブログです。CocBanの開発・運用にまつわる技術的な知見を投稿します。お問い合わせはこちら(cocban.com/contacts/)です。
Discussion