Hello! We’re deciding how do we want to include the shared KMM library into iOS (and Android, but it’s waaaay easier to decide). As I can see it, we can have three ways:
1. Deliver it as raw Kotlin code and have it as a separate Kotlin module in iOS and Android. Cons: adds compile time to the projects; requires the environment to have Kotlin in setup; in some cases requires minor alterations in client (I had to add Maven repo to a sample Android app in the new repo, but probably I’m just missing something)
2. Deliver via private Cocoapods repo (or private Maven for Android). Cons: we need to wait for the library to build before using it every time, similar approach for another project on our CI/CD takes 30 minutes; we need to create a new version number each time we push something into the Cocoapods repo
3. Deliver it as a pre-built (on CI/CD step) classes into submodules, which are then plugged into the projects. Cons: still not built immediately, can only be used after CI/CD is done
What are the best practices here? How people usually use KMM without adding dependencies to developers’ environments and without long waits?