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:
- Invalidating cache & restart
- Cleaning the project and making it again
- Running
pod deintegrate
thenpod install
again - The solution said here: Open file
*.xcworkspace
, then building using ⌘+B (which leads to build failure)
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:
- Invalidating cache & restart
- Cleaning the project and making it again
- Running
pod deintegrate
thenpod install
again - The solution said here: Open file
*.xcworkspace
, then building using ⌘+B (which leads to build failure)
1 Answer
Reset to default 0It seems Android Studio build's log doesn't show the specific errors. By checking the xcode I can see a build issue:
Which 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
}
}
}