Hi everyone! I'm trying to create a compose multip...
# compose-ios
v
Hi everyone! I'm trying to create a compose multiplatform project (Android, iOS) using Terrakok Wizard. Everything works until I try to add CocoaPods to this project. When attempting to run it on the iOS emulator, I always encounter the following error:
Copy code
BUILD FAILED in 13s
Configuration cache entry discarded with 36 problems.
Command PhaseScriptExecution failed with a nonzero exit code
Xcode shows next message
Copy code
Configuration cache state could not be cached: field singleStorage of com.android.build.api.artifact.impl.TypedStorageProvider bean found in field directory of com.android.build.api.artifact.impl.StorageProviderImpl bean found in field storageProvider of com.android.build.api.artifact.impl.ArtifactsImpl bean found in field artifacts of com.android.build.gradle.internal.variant.TestVariantData bean found in field variantData of com.android.build.gradle.internal.api.TestVariantImpl bean found in field testVariant of com.android.build.gradle.internal.api.ApplicationVariantImpl bean found in field testedVariant of com.android.build.gradle.internal.api.UnitTestVariantImpl bean found in field androidVariant of org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmAndroidCompilation bean found in field underlying of org.jetbrains.kotlin.gradle.utils.MutableObservableSetImpl bean found in field compilations of org.jetbrains.kotlin.gradle.plugin.sources.DefaultKotlinSourceSet bean found in field underlying of org.jetbrains.kotlin.gradle.utils.MutableObservableSetImpl bean found in field dependsOnClosureImpl of org.jetbrains.kotlin.gradle.plugin.sources.DefaultKotlinSourceSet bean found in field underlying of org.jetbrains.kotlin.gradle.utils.MutableObservableSetImpl bean found in field dependsOnClosureImpl of org.jetbrains.kotlin.gradle.plugin.sources.DefaultKotlinSourceSet bean found in field value of org.jetbrains.kotlin.tooling.core.Extras$Entry bean found in field extras of org.jetbrains.kotlin.tooling.core.MutableExtrasImpl bean found in field extras of org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationImpl bean found in field this$0 of org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationImpl$associateWith$2 bean found in field forAllActions of org.jetbrains.kotlin.gradle.utils.MutableObservableSetImpl bean found in field allAssociatedCompilationsImpl of org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationImpl bean found in field compilation of org.jetbrains.kotlin.gradle.plugin.mpp.DefaultCInteropSettingsFactory bean found in field factory of org.gradle.api.internal.FactoryNamedDomainObjectContainer bean found in field cinterops of org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeCompilation bean found in field underlying of org.jetbrains.kotlin.gradle.utils.MutableObservableSetImpl bean found in field compilations of org.jetbrains.kotlin.gradle.plugin.sources.DefaultKotlinSourceSet bean found in field value of org.jetbrains.kotlin.tooling.core.Extras$Entry bean found in field extras of org.jetbrains.kotlin.tooling.core.MutableExtrasImpl bean found in field extras of org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationImpl bean found in field compilation of org.jetbrains.kotlin.gradle.plugin.mpp.DefaultCInteropSettingsFactory bean found in field factory of org.gradle.api.internal.FactoryNamedDomainObjectContainer bean found in field cinterops of org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeCompilation bean found in field underlying of org.jetbrains.kotlin.gradle.utils.MutableObservableSetImpl bean found in field allAssociatedCompilationsImpl of org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationImpl bean found in field compilation of org.jetbrains.kotlin.gradle.plugin.mpp.DefaultCInteropSettingsFactory bean found in field factory of org.gradle.api.internal.FactoryNamedDomainObjectContainer bean found in field cinterops of org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeCompilation bean found in field underlying of org.jetbrains.kotlin.gradle.utils.MutableObservableSetImpl bean found in field compilations of org.jetbrains.kotlin.gradle.plugin.sources.DefaultKotlinSourceSet bean found in field value of org.jetbrains.kotlin.tooling.core.Extras$Entry bean found in field extras of org.jetbrains.kotlin.tooling.core.MutableExtrasImpl bean found in field extras of
org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationImpl bean found in field this$0 of org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationImpl$associateWith$2 bean found in field forAllActions of org.jetbrains.kotlin.gradle.utils.MutableObservableSetImpl bean found in field allAssociatedCompilationsImpl of org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationImpl bean found in field compilation of org.jetbrains.kotlin.gradle.plugin.mpp.DefaultCInteropSettingsFactory bean found in field factory of org.gradle.api.internal.FactoryNamedDomainObjectContainer bean found in field cinterops of org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeCompilation bean found in field underlying of org.jetbrains.kotlin.gradle.utils.MutableObservableSetImpl bean found in field compilations of org.jetbrains.kotlin.gradle.plugin.sources.DefaultKotlinSourceSet bean found in field notOnlyJsSourceSets of org.jetbrains.kotlin.gradle.plugin.sources.DefaultKotlinSourceSetFactory bean found in field factory of org.gradle.api.internal.FactoryNamedDomainObjectContainer bean found in field sourceSets of org.jetbrains.kotlin.gradle.plugin.hierarchy.KotlinHierarchyDslImpl bean found in field value of kotlin.InitializedLazyImpl bean found in field hierarchy$delegate of org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension bean found in field $multiplatformExtension of io.github.skeptick.libres.plugin.ResourcesPlugin$registerSetupIosExportTasks$createBundlesSymlinksTask$1$2 bean found in field capturedArgs of java.lang.invoke.SerializedLambda bean found in field action of org.gradle.api.internal.AbstractTask$TaskActionWrapper bean found in field actions of task :composeApp:libresCreateSymlinkedBundles of type org.gradle.api.DefaultTask: error writing value of type 'java.util.LinkedHashMap'
> java.util.ConcurrentModificationException (no error message)
To install CocoaPods, I follow these steps: 1. In
libs.versions.toml
, I add: cocoapods = { id = "org.jetbrains.kotlin.native.cocoapods", version.ref = "kotlin" } 2. In the project
build.gradle.kts
, I apply the CocoaPods plugin:
Copy code
alias(libs.plugins.cocoapods).apply(false)
3. In the
composeApp
module
build.gradle.kts
, I use the CocoaPods plugin:
Copy code
alias(libs.plugins.cocoapods)

cocoapods {
    version = "1.0"
    summary = "Some description for the Shared Module"
    homepage = "Link to the Shared Module homepage"
    ios.deploymentTarget = "16.0"
    podfile = project.file("../iosApp/Podfile")
    framework {
        baseName = "composeApp"
    }
}
4. In
iosApp
, I add a
Podfile
with the following content:
Copy code
target 'iosApp' do
  use_frameworks!
  platform :ios, '16.0'
  pod 'composeApp', :path => '../composeApp'
end
Am I doing something wrong? (edited)
🧵 5