We’re working on setting up a multiplatform project in a new repo The plan is to publish iOS and JVM...
n
We’re working on setting up a multiplatform project in a new repo The plan is to publish iOS and JVM artifacts to then consume in each of our apps Currently, our very simply project is setup like this
moduleA
- one unique feature
moduleB
- another unique feature we then have
moduleC
setup to pull in the other modules and create a single iOS framework for us to version/publish I’m wondering though what would be the best way to publish/consume the JVM artifacts? At the moment, we get a JAR for each module, which we could give a unified version and publish separately. But I’m wondering if we might be better off having a single JAR for all modules like with the iOS framework 1. Is that a reasonable idea? Anyone try that and run into problems? 2. Is that something that can be setup “out of the box” or would we need to create a custom task to unzip jars and rezip into a new, unified jar?
👀 1
y
At the moment it’s recommended to have an umbrella framework on iOS, because of current interop limitations with Objective-C. Shortly, when you have 3 KMP modules A, B, C and A depends on C, B depends on C, and you include A and B into your iOS app separately, they both (A and B) will have different (prefixed) versions of C code, which isn’t compatible at all. We actually tried that, and it didn’t work, so we retreated to Umbrella framework on iOS. BUT we still successfully use A and C separately on Android without any Umbrella module. More details on iOS Umbrella framework can be found here: https://medium.com/vmware-end-user-computing/adding-multiple-kotlin-multiplatform-dependencies-to-an-ios-app-a520fd1dbfc7