Hello! Playing around with skie and i'm getting `F...
# touchlab-tools
t
Hello! Playing around with skie and i'm getting
For-in loop requires 'any Gradle__org_jetbrains_kotlinx_kotlinx_coroutines_core_iosarm64_1_10_2Flow' to conform to 'AsyncSequence'
- am I missing something? I know it worked for me in the past.
t
That looks like SKIE hasn't changed that property/function to return the SKIE type and instead returns the original Kotlin type. Could you share more context/code?
t
Copy code
import com.myproj.gradle.addKspDependencyForAllTargets

plugins {
    id("com.myproj.android")
    id("com.myproj.kotlin.multiplatform")
    id("com.myproj.compose")
    alias(libs.plugins.aboutLibraries)
    alias(libs.plugins.ksp)
    alias(libs.plugins.buildkonfig)
    alias(libs.plugins.skie)
}

kotlin {
    compilerOptions {
        optIn.addAll(
            "com.russhwolf.settings.ExperimentalSettingsApi",
        )
    }
    listOf(
        iosArm64(),
        iosSimulatorArm64()
    ).forEach {
        it.binaries.framework {
            export(project(":data:api"))
            export(project(":data:store"))
            export(project(":data:models"))
            baseName = "sharedKit"
            isStatic = true
        }
    }

    sourceSets {
        commonMain {
            dependencies {
            }
        }
    }
}

aboutLibraries {
    export {
        outputFile = file("src/commonMain/composeResources/files/aboutlibraries.json")
    }
}

android {
    namespace = "com.myproj.shared"

    buildFeatures {
        compose = true
    }
}

buildkonfig {
    packageName = "com.myproj.shared"
    defaultConfigs {
        buildConfigField(com.codingfeline.buildkonfig.compiler.FieldSpec.Type.STRING,
            name = "APP_VERSION",
            value = libs.versions.appVersionName.get().toString())
        // You can also add a numeric version code if you want:
        buildConfigField(com.codingfeline.buildkonfig.compiler.FieldSpec.Type.INT,
            name = "APP_VERSION_CODE",
            value = libs.versions.appVersionCode.get().toString())
    }
}

compose.resources {
    publicResClass = false
}

ksp {
    arg("me.tatarka.inject.generateCompanionExtensions", "true")
}

addKspDependencyForAllTargets(libs.kotlininject.compiler)
addKspDependencyForAllTargets(libs.kotlininject.anvil.compiler)
Trying to use a flow exposed from a
project(":data:api")
which is a dependency - maybe that's the issue? Do i need skie applied to it as well?
though i tried consuming a flow from a class declared in this module and still the same issue
t
SKIE should automatically apply because it's declared in the
export(..)
I thought it could be caching, but we're not changing the Kotlin code as far as I remember, so that shouldn't be the case
If you could create a reproducer project and create an issue in our GitHub, that would probably be best so I can reproduce it locally and find a fix
👍 1
t
wondering if it's related to iOS 26 - trying to compile and run on it.
other than that AGP and gradle changed since my last time playing around with SKIE, but i think those shouldn't affect it
suspend
function work no problem with
await