I have a multi-module mobile project. Android and ...
# swift-export
h
I have a multi-module mobile project. Android and iOS will keep their native platform UI without using KMP, but they will share business logic with each other. In the KMP business layer, we're using an umbrella framework to combine all KMP feature modules together. This was very hard to manage because each KMP feature module is managed by a different team. I have a question: I have a KMP module called Manager. In this Manager module, there is a class called FeatureManager that contains a list of FeatureInterfaces. The FeatureInterface will be used by other KMP modules like moduleA and moduleB to create classes that implement these FeatureInterfaces. The register method of FeatureManager will be called in the iOS app. Now I have upgraded to Kotlin 2.1.0. I want to stop using the umbrella module. Instead, each KMP module will create its own framework, and the iOS app will consume these frameworks. Is this possible for my above problem relating to Manager and moduleA, moduleB?
Screenshot 2025-07-16 at 16.52.18.png
g
We run into the same issue. Unfortunately there is no way to do it without an umbrella module. https://youtrack.jetbrains.com/issue/KT-42247
🥹 1
h
@Grzegorz Gajewski i thought in kotlin 2.1.0 or later version, this issue was resolved
g
ah, if you’re using the experimental swift export then indeed it might work
h
woa, really, do you have any link confirm about that ?
g
Sorry, I’ve made the assumption based on the 2.1.0 changelog. But looking at the sample code it is still using the umbrella sadly: https://github.com/Kotlin/swift-export-sample/blob/master/shared/build.gradle.kts#L21
h
You need an umbrella module, at least for now
😞 1
h
ok thx @Grzegorz Gajewski and @Hristijan