Has anyone experienced this error, when running `e...
# multiplatform
c
Has anyone experienced this error, when running `embedAndSignAppleFrameworkForXcode`: (full error in thread). I’ve searched for it and the only results are someone with temporary issues related to gradle cache. This has never worked on this project, it’s not a temporary thing or a cache thing.
Copy code
'org.jetbrains.kotlin.gradle.plugin.mpp.apple.EmbedAndSignTask' property 'destinationDirectory' doesn't have a configured value.
This project is a very similar setup of another project where it works fine. Both Kotlin 2.0.21, SKIE, Room, Ktor, nothing crazy
Copy code
Some problems were found with the configuration of task ':shared:embedAndSignAppleFrameworkForXcode' (type 'EmbedAndSignTask').
  - In plugin 'org.jetbrains.kotlin.gradle.scripting.internal.ScriptingKotlinGradleSubplugin' type 'org.jetbrains.kotlin.gradle.plugin.mpp.apple.EmbedAndSignTask' property 'destinationDirectory' doesn't have a configured value.
    
    Reason: This property isn't marked as optional and no value has been configured.
    
    Possible solutions:
      1. Assign a value to 'destinationDirectory'.
      2. Mark property 'destinationDirectory' as optional.
    
    For more information, please refer to <https://docs.gradle.org/8.10.2/userguide/validation_problems.html#value_not_set> in the Gradle documentation.
  - In plugin 'org.jetbrains.kotlin.gradle.scripting.internal.ScriptingKotlinGradleSubplugin' type 'org.jetbrains.kotlin.gradle.plugin.mpp.apple.EmbedAndSignTask' property 'sourceFramework' doesn't have a configured value.
    
    Reason: This property isn't marked as optional and no value has been configured.
    
    Possible solutions:
      1. Assign a value to 'sourceFramework'.
      2. Mark property 'sourceFramework' as optional.
    
    For more information, please refer to <https://docs.gradle.org/8.10.2/userguide/validation_problems.html#value_not_set> in the Gradle documentation.
Gradle config - it works on Android. It also seems to work when assembling an xcframework file and using that manually in xcode
Copy code
plugins {
     kotlin("multiplatform")
     kotlin("plugin.serialization") version "2.0.21"
     id("com.google.devtools.ksp")
     id("com.android.library")
     id("de.jensklingenberg.ktorfit") version "2.2.0"
     id("co.touchlab.skie") version "0.10.0"
     id("maven-publish")
     id("androidx.room") version "2.7.0-alpha11"
}

kotlin {
    androidTarget {
        publishAllLibraryVariants()
    }

    kotlin {
        jvmToolchain(17)
    }

    skie {
        features {
            group("co.touchlab.skie.types") {
                FlowInterop.Enabled(false)
            }
        }
    }

    room {
         schemaDirectory("$projectDir/schemas")
    }

    tasks.withType<Test> {
        this.testLogging {
            this.showStandardStreams = true
        }
    }

    val xcf = XCFramework()
    val iosTargets = listOf(iosX64(), iosArm64(), iosSimulatorArm64())

    iosTargets.forEach {
        it.binaries.framework {
            baseName = "shared"
            xcf.add(this)
        }
    }

    sourceSets {
        commonMain.dependencies {
          ...
        }

        commonTest.dependencies {
          ...
        }

        iosMain.dependencies {
            ...
        }

        androidMain.dependencies {
            ...
        }
    }
}

dependencies {
    listOf(
        "kspAndroid",
        // "kspJvm",
        "kspIosSimulatorArm64",
        "kspIosX64",
        "kspIosArm64"
    ).forEach {
        add(it, "androidx.room:room-compiler:2.7.0-alpha11")
    }
}

android {
    namespace = "..."
    compileSdk = 35
    defaultConfig {
        minSdk = 26
    }
    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_17
        targetCompatibility = JavaVersion.VERSION_17
    }
}
This also happens if trying to use a brand new empty KMP project(made with the KMP plugin), so my guess is some xcode config is wrong
a
c
Seems like it. Running
assembleDebugIosFatFrameworkForSharedXCFramework
instead (Which i believe is what
embedAndSignAppleFrameworkForXcode
does) works fine