I've updated my multi-module KMP project to use cocoapods according to kotlinlang. But after syncing, building, and running the ios app (either using Android Studio or Xcode 16.2), I encounter the following error:
Inside build.gradle.kts
of :composeApp
module, I've added the following code:
kotlin {
cocoapods {
summary = "Some description for the Shared Module"
homepage = "Link to the Shared Module homepage"
version = "1.0"
ios.deploymentTarget = "16.2"
podfile = project.file("../iosApp/Podfile")
framework {
baseName = "ComposeApp"
isStatic = false
transitiveExport = false // This is default.
}
}
}
And Podfile
inside iosApp directory looks like this:
target 'iosApp' do
use_frameworks!
platform :ios, '16.2'
pod 'composeApp', :path => '../ComposeApp'
end
What I have already tried:
pod deintegrate
then pod install
again*.xcworkspace
, then building using ā+B (which leads to build failure)The issue is with room
's config for IOS. By adding the following line in framework
block inside cocoapods
block, the build is successfull:
kotlin {
cocoapods {
summary = "Some description for the Shared Module"
homepage = "Link to the Shared Module homepage"
version = "1.0"
ios.deploymentTarget = "16.2"
podfile = project.file("../iosApp/Podfile")
framework {
baseName = "ComposeApp"
isStatic = false
transitiveExport = false // This is default.
linkerOpts.add("-lsqlite3") // I had to add this line
}
}
}