Hello, hope you are all doing well. I have been bu...
# kotlin-native
d
Hello, hope you are all doing well. I have been building a compose multiplatform project and now I am getting an error on iOS side. This is my build.gradle.kts file
Copy code
import org.jetbrains.compose.ExperimentalComposeLibrary

plugins {
    alias(libs.plugins.kotlinMultiplatform)
    alias(libs.plugins.androidApplication)
    alias(libs.plugins.jetbrainsCompose)
    alias(libs.plugins.gradle.buildconfig.plugin)
    alias(libs.plugins.kotlinSerilization)
    id("dev.icerock.mobile.multiplatform-resources")
}

kotlin {
    androidTarget {
        compilations.all {
            kotlinOptions {
                jvmTarget = "11"
            }
        }
    }
    
    listOf(
        iosX64(),
        iosArm64(),
        iosSimulatorArm64()
    ).forEach { iosTarget ->
        iosTarget.binaries.framework {
            baseName = "ComposeApp"
            isStatic = true
        }
    }
    
    sourceSets {
        androidMain {
            dependencies {
                implementation(libs.compose.ui)
                implementation(libs.compose.ui.tooling.preview)
                implementation(libs.androidx.activity.compose)
                implementation(libs.ktor.client.android)
                implementation(libs.decompose)
            }
            dependsOn(commonMain.get())
        }
//        iosMain.dependencies {
//            implementation(libs.ktor.client.darwin)
////            implementation(libs.decompose)
//            implementation(libs.decompose.compose)
//
//        }
        iosMain {
            dependencies {
                implementation(libs.ktor.client.darwin)
    //            implementation(libs.decompose)
                implementation(libs.decompose.compose)
            }
            dependsOn(commonMain.get())
        }
        commonMain.dependencies {
            implementation(compose.runtime)
            implementation(compose.foundation)
            implementation(compose.material)
            @OptIn(ExperimentalComposeLibrary::class)
            implementation(compose.components.resources)
            implementation(libs.kotlinx.datetime)
            implementation(libs.bundles.ktor)
            implementation(libs.kotlinx.serialization)
            implementation(libs.ktor.client.logging)
            implementation(libs.ktor.client.auth)
            implementation(libs.kermit)
            implementation(libs.mokko.mvvm.compose)
            implementation(libs.mokko.mvvm.compose.flow)
            implementation(libs.moko.resources.compose)
            implementation(libs.moko.resources)
            implementation(libs.multiplatform.settings)
            implementation(libs.multiplatform.settings.noarg)
            implementation(libs.decompose)
            implementation(libs.decompose.compose)
        }
    }
}

multiplatformResources {
    multiplatformResourcesPackage = "org.example.lunchbreak" // required
    iosBaseLocalizationRegion = "en" // optional, default "en"
}

android {
    namespace = "org.example.lunchbreak"
    compileSdk = libs.versions.android.compileSdk.get().toInt()

    sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml")
    sourceSets["main"].res.srcDirs("src/androidMain/res")
    sourceSets["main"].resources.srcDirs("src/commonMain/resources")

    defaultConfig {
        applicationId = "org.example.lunchbreak"
        minSdk = libs.versions.android.minSdk.get().toInt()
        targetSdk = libs.versions.android.targetSdk.get().toInt()
        versionCode = 1
        versionName = "1.0"
    }
    buildFeatures {
        compose = true
    }
    composeOptions {
        kotlinCompilerExtensionVersion = libs.versions.compose.compiler.get()
    }
    packaging {
        resources {
            excludes += "/META-INF/{AL2.0,LGPL2.1}"
        }
    }
    buildTypes {
        getByName("release") {
            isMinifyEnabled = false
        }
    }
    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_11
        targetCompatibility = JavaVersion.VERSION_11
    }
    dependencies {
        debugImplementation(libs.compose.ui.tooling)
    }
}

buildConfig {
    buildConfigField("String", "BASE_URL", "\"<http://ec2-16-171-224-87.eu-north-1.compute.amazonaws.com:8080/api/v3\|http://ec2-16-171-224-87.eu-north-1.compute.amazonaws.com:8080/api/v3\>"")
}
In order to satisfy needs of multiplatform resources I added
dependsOn(commonMain.get())
in android Maybe that ruined it 🤷 ? Does someone know why whould it happen I am also using decompose and can't access things like
DefaultComponentContext
or anything similar from within
iosMain
. Also syntax highlighting is off in the IDE in
iosMain
module