Ashaluwala Kazeem
Ashaluwala Kazeem

Reputation: 121

How do I fix java.lang.NoSuchMethodError: No static method rememberSnapFlingBehavior in Compose Multiplatform

I'm trying to use CupertinoTimeDatePicker on a compose multiplatform project. Whenever I do that, I always get this error:

java.lang.NoSuchMethodError: No static method rememberSnapFlingBehavior(Landroidx/compose/foundation/lazy/LazyListState;Landroidx/compose/runtime/Composer;I)Landroidx/compose/foundation/gestures/FlingBehavior; 
in class Landroidx/compose/foundation/gestures/snapping/LazyListSnapLayoutInfoProviderKt; or its super classes 
(declaration of 'androidx.compose.foundation.gestures.snapping.LazyListSnapLayoutInfoProviderKt' appears in /data/app/~~Ow6G7j0XPQvUKwujDgsnFQ==/io.taz.waqt.controller-XjAz7wTIGUNMqk29ubjbaA==/base.apk)
    at io.github.alexzhirkevich.cupertino.CupertinoPickerKt$CupertinoWheelPicker$5$1.invoke(CupertinoPicker.kt:336)
    at io.github.alexzhirkevich.cupertino.CupertinoPickerKt$CupertinoWheelPicker$5$1.invoke(CupertinoPicker.kt:322)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
    at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:401)
    at io.github.alexzhirkevich.cupertino.TextKt.ProvideTextStyle(Text.kt:352)
    at io.github.alexzhirkevich.cupertino.CupertinoPickerKt$CupertinoWheelPicker$5.invoke(CupertinoPicker.kt:322)
    at io.github.alexzhirkevich.cupertino.CupertinoPickerKt$CupertinoWheelPicker$5.invoke(CupertinoPicker.kt:321)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)

This is how I'm using the timePicker:

val cupertinoPickerState = rememberCupertinoTimePickerState(
    is24Hour = is24HoursTime
)

CupertinoTimePicker(
    state = cupertinoPickerState,
    height = 97.dp,
    containerColor = Color.Transparent
)

And this is my build.gradle

I'm using compose multiplatform "1.7.3"

plugins {
    alias(libs.plugins.kotlinMultiplatform)
    alias(libs.plugins.androidApplication)
    alias(libs.plugins.composeMultiplatform)
    alias(libs.plugins.composeCompiler)
}

kotlin {
    androidTarget {
        @OptIn(ExperimentalKotlinGradlePluginApi::class)
        compilerOptions {
            jvmTarget.set(JvmTarget.JVM_11)
        }
    }

    listOf(
        iosX64(),
        iosArm64(),
        iosSimulatorArm64()
    ).forEach { iosTarget ->
        iosTarget.binaries.framework {
            baseName = "ComposeApp"
            isStatic = true
        }
    }

    sourceSets {
        androidMain.dependencies {
            ...
        }
        commonMain.dependencies {
            // Cupertino
            implementation(libs.cupertino.native)
            implementation(libs.cupertino.adaptive)
            implementation(libs.cupertino)
            implementation(libs.cupertino.icons.extended)
        }
        iosMain.dependencies {
        }
    }
}

I have updated my compose multiplaform from 1.7.0 to 1.7.3, but no avail

Upvotes: 1

Views: 73

Answers (0)

Related Questions