Keval icon indicating copy to clipboard operation
Keval copied to clipboard

Build for iOS device fails

Open roywatson opened this issue 5 months ago • 2 comments

create a simple compose multiplatform project targeting Android, iOS and Desktop. I added "implementation("com.notkamui.libs:keval:1.1.1")" to the commonMain.dependencies {} section of the build.gradle file.

Build for Android works

When I choose iosApp and my physical iphone I get the following error:

error: No matching variant of com.notkamui.libs:keval:1.1.1 was found. The consumer was configured to find a library for use during 'kotlin-api', preferably optimized for non-jvm, as well as attribute 'org.jetbrains.kotlin.klib.packaging' with value 'non-packed', attribute 'org.jetbrains.kotlin.native.target' with value 'ios_arm64', attribute 'org.jetbrains.kotlin.platform.type' with value 'native' but:

FAILURE: Build failed with an exception.

  • What went wrong: Configuration cache state could not be cached: field libraries of task :composeApp:compileKotlinIosArm64 of type org.jetbrains.kotlin.gradle.tasks.KotlinNativeCompile: error writing value of type 'org.gradle.api.internal.file.collections.DefaultConfigurableFileCollection'

Could not resolve all files for configuration ':composeApp:iosArm64CompileKlibraries'. Could not resolve com.notkamui.libs:keval:1.1.1. Required by: project :composeApp > No matching variant of com.notkamui.libs:keval:1.1.1 was found. The consumer was configured to find a library for use during 'kotlin-api', preferably optimized for non-jvm, as well as attribute 'org.jetbrains.kotlin.klib.packaging' with value 'non-packed', attribute 'org.jetbrains.kotlin.native.target' with value 'ios_arm64', attribute 'org.jetbrains.kotlin.platform.type' with value 'native' but: - Variant 'jsApiElements-published' declares a library for use during 'kotlin-api': - Incompatible because this component declares a component, as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'js' and the consumer needed a component, as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'native' - Other compatible attributes: - Doesn't say anything about its target Java environment (preferred optimized for non-jvm) - Doesn't say anything about org.jetbrains.kotlin.klib.packaging (required 'non-packed') - Doesn't say anything about org.jetbrains.kotlin.native.target (required 'ios_arm64') - Variant 'jsRuntimeElements-published' declares a library: - Incompatible because this component declares a component for use during 'kotlin-runtime', as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'js' and the consumer needed a component for use during 'kotlin-api', as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'native' - Other compatible attributes: - Doesn't say anything about its target Java environment (preferred optimized for non-jvm) - Doesn't say anything about org.jetbrains.kotlin.klib.packaging (required 'non-packed') - Doesn't say anything about org.jetbrains.kotlin.native.target (required 'ios_arm64') - Variant 'jsSourcesElements-published': - Incompatible because this component declares documentation for use during 'kotlin-runtime', as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'js' and the consumer needed a library for use during 'kotlin-api', as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'native' - Other compatible attributes: - Doesn't say anything about its target Java environment (preferred optimized for non-jvm) - Doesn't say anything about org.jetbrains.kotlin.klib.packaging (required 'non-packed') - Doesn't say anything about org.jetbrains.kotlin.native.target (required 'ios_arm64') - Variant 'jvmApiElements-published' declares a library for use during compile-time: - Incompatible because this component declares a component, as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'jvm' and the consumer needed a component, as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'native' - Other compatible attributes: - Doesn't say anything about its target Java environment (preferred optimized for non-jvm) - Doesn't say anything about org.jetbrains.kotlin.klib.packaging (required 'non-packed') - Doesn't say anything about org.jetbrains.kotlin.native.target (required 'ios_arm64') - Variant 'jvmRuntimeElements-published' declares a library for use during runtime: - Incompatible because this component declares a component, as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'jvm' and the consumer needed a component, as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'native' - Other compatible attributes: - Doesn't say anything about its target Java environment (preferred optimized for non-jvm) - Doesn't say anything about org.jetbrains.kotlin.klib.packaging (required 'non-packed') - Doesn't say anything about org.jetbrains.kotlin.native.target (required 'ios_arm64') - Variant 'jvmSourcesElements-published' declares a component for use during runtime: - Incompatible because this component declares documentation, as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'jvm' and the consumer needed a library, as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'native' - Other compatible attributes: - Doesn't say anything about its target Java environment (preferred optimized for non-jvm) - Doesn't say anything about org.jetbrains.kotlin.klib.packaging (required 'non-packed') - Doesn't say anything about org.jetbrains.kotlin.native.target (required 'ios_arm64') - Variant 'linuxX64ApiElements-published' declares a library for use during 'kotlin-api', as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'native': - Incompatible because this component declares a component, as well as attribute 'org.jetbrains.kotlin.native.target' with value 'linux_x64' and the consumer needed a component, as well as attribute 'org.jetbrains.kotlin.native.target' with value 'ios_arm64' - Other compatible attributes: - Doesn't say anything about its target Java environment (preferred optimized for non-jvm) - Doesn't say anything about org.jetbrains.kotlin.klib.packaging (required 'non-packed') - Variant 'linuxX64SourcesElements-published' declares a component, as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'native': - Incompatible because this component declares documentation for use during 'kotlin-runtime', as well as attribute 'org.jetbrains.kotlin.native.target' with value 'linux_x64' and the consumer needed a library for use during 'kotlin-api', as well as attribute 'org.jetbrains.kotlin.native.target' with value 'ios_arm64' - Other compatible attributes: - Doesn't say anything about its target Java environment (preferred optimized for non-jvm) - Doesn't say anything about org.jetbrains.kotlin.klib.packaging (required 'non-packed') - Variant 'metadataApiElements' declares a library: - Incompatible because this component declares a component for use during 'kotlin-metadata', as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'common' and the consumer needed a component for use during 'kotlin-api', as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'native' - Other compatible attributes: - Doesn't say anything about its target Java environment (preferred optimized for non-jvm) - Doesn't say anything about org.jetbrains.kotlin.klib.packaging (required 'non-packed') - Doesn't say anything about org.jetbrains.kotlin.native.target (required 'ios_arm64') - Variant 'metadataSourcesElements': - Incompatible because this component declares documentation for use during 'kotlin-runtime', as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'common' and the consumer needed a library for use during 'kotlin-api', as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'native' - Other compatible attributes: - Doesn't say anything about its target Java environment (preferred optimized for non-jvm) - Doesn't say anything about org.jetbrains.kotlin.klib.packaging (required 'non-packed') - Doesn't say anything about org.jetbrains.kotlin.native.target (required 'ios_arm64') - Variant 'mingwX64ApiElements-published' declares a library for use during 'kotlin-api', as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'native': - Incompatible because this component declares a component, as well as attribute 'org.jetbrains.kotlin.native.target' with value 'mingw_x64' and the consumer needed a component, as well as attribute 'org.jetbrains.kotlin.native.target' with value 'ios_arm64' - Other compatible attributes: - Doesn't say anything about its target Java environment (preferred optimized for non-jvm) - Doesn't say anything about org.jetbrains.kotlin.klib.packaging (required 'non-packed') - Variant 'mingwX64SourcesElements-published' declares a component, as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'native': - Incompatible because this component declares documentation for use during 'kotlin-runtime', as well as attribute 'org.jetbrains.kotlin.native.target' with value 'mingw_x64' and the consumer needed a library for use during 'kotlin-api', as well as attribute 'org.jetbrains.kotlin.native.target' with value 'ios_arm64' - Other compatible attributes: - Doesn't say anything about its target Java environment (preferred optimized for non-jvm) - Doesn't say anything about org.jetbrains.kotlin.klib.packaging (required 'non-packed')

roywatson avatar Sep 11 '25 21:09 roywatson

Correct: the version that supports iOS has not yet been published.

I've been stuck with maven central because it has been some time since I last published something on it. I'll probably need to use github actions to make things more durable, and update the gradle config.

notKamui avatar Sep 12 '25 12:09 notKamui

Any updates on this? I would love to use it if It's available

BKTB888 avatar Nov 19 '25 20:11 BKTB888