Description
build.gradle.kts(:ComposeApp)
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
plugins {
alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.androidApplication)
alias(libs.plugins.composeMultiplatform)
alias(libs.plugins.composeCompiler)
alias(libs.plugins.kotlinCocoapods)
alias(libs.plugins.kotlinx.serialization)
alias(libs.plugins.kotlinx.parcelize)
alias(libs.plugins.googleService)
}
kotlin {
androidTarget {
compilations.all {
compileTaskProvider.configure {
compilerOptions {
jvmTarget.set(JvmTarget.JVM_17)
freeCompilerArgs.addAll(
"-P",
"plugin:org.jetbrains.kotlin.parcelize:additionalAnnotation=the.package.containing.annotation.CommonParcelize"
)
}
}
}
}
listOf(
iosX64(),
iosArm64(),
iosSimulatorArm64()
).forEach { iosTarget ->
iosTarget.binaries.framework {
baseName = "ComposeApp"
isStatic = true
}
}
sourceSets.all {
languageSettings {
optIn("kotlin.ExperimentalMultiplatform")
}
compilerOptions.freeCompilerArgs.add("-Xexpect-actual-classes")
}
cocoapods {
summary = "Some description for the Shared Module"
homepage = "Link to the Shared Module homepage"
version = "1.0"
ios.deploymentTarget = "16.0"
podfile = project.file("../iosApp/Podfile")
name = "composeApp"
pod("FirebaseCore") {
extraOpts += listOf("-compiler-option", "-fmodules")
linkOnly = false
}
pod("FirebaseDatabase") {
extraOpts += listOf("-compiler-option", "-fmodules")
linkOnly = false
}
pod("FirebaseStorage") {
extraOpts += listOf("-compiler-option", "-fmodules")
linkOnly = false
}
pod("FirebaseAuth") {
extraOpts += listOf("-compiler-option", "-fmodules")
linkOnly = false
}
pod("GoogleUtilities") {
extraOpts += listOf("-compiler-option", "-fmodules")
linkOnly = false
}
}
sourceSets {
iosMain.dependencies {
implementation(libs.ktor.client.darwin)
implementation(libs.firebase.common)
}
androidMain.dependencies {
implementation(compose.preview)
implementation(compose.uiTooling)
implementation(compose.foundation)
implementation(libs.androidx.activity.compose)
implementation(libs.ktor.client.android)
implementation(libs.ktor.client.okhttp)
implementation(libs.datastore.preferences)
implementation(libs.atomicfu)
implementation(libs.koin.android)
implementation(libs.koin.androidx.compose)
implementation(libs.androidx.core.splashscreen)
implementation(project.dependencies.platform("com.google.firebase:firebase-bom:33.9.0"))
}
commonMain.dependencies {
implementation(compose.runtime)
implementation(compose.foundation)
implementation(compose.material)
implementation(compose.ui)
implementation(compose.components.resources)
implementation(compose.components.uiToolingPreview)
implementation(libs.androidx.lifecycle.viewmodel)
implementation(libs.androidx.lifecycle.runtime.compose)
implementation(compose.material3)
implementation(compose.materialIconsExtended)
implementation(compose.material3AdaptiveNavigationSuite)
implementation(libs.kotlinx.datetime)
implementation(libs.navigation.compose)
implementation(libs.napier)
implementation(libs.atomicfu)
implementation(libs.kotlinx.datetime)
implementation(libs.datastore.preferences)
implementation(libs.window.size)
implementation(libs.moko.permissions)
//Ktor
implementation(libs.ktor.core)
implementation(libs.ktor.json)
implementation(libs.ktor.logging)
implementation(libs.ktor.negotiation)
implementation(libs.kotlinx.serialization.json)
//Coil
implementation(libs.coil.compose.core)
implementation(libs.coil.compose)
implementation(libs.coil.network.ktor3)
implementation(libs.coil.mp)
// peekaboo-ui
implementation(libs.peekaboo.ui)
implementation(libs.peekaboo.image.picker)
//firebase
implementation(libs.firebase.auth)
implementation(libs.firebase.database)
implementation(libs.firebase.storage)
implementation(libs.firebase.common)
//Koin
api(libs.koin.core)
implementation(libs.koin.compose)
implementation(libs.koin.compose.viewmodel)
}
}
}
android {
namespace = "com.scsgtech.localoffersmerchant"
compileSdk = libs.versions.android.compileSdk.get().toInt()
defaultConfig {
applicationId = "com.scsgtech.localoffersmerchant"
minSdk = libs.versions.android.minSdk.get().toInt()
targetSdk = libs.versions.android.targetSdk.get().toInt()
versionCode = 1
versionName = "1.0"
}
packaging {
resources {
excludes += "/META-INF/{AL2.0,LGPL2.1}"
}
}
buildTypes {
getByName("release") {
isMinifyEnabled = false
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
}
dependencies {
debugImplementation(compose.uiTooling)
}
Podfile:
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target 'iosApp' do
# Comment the next line if you don't want to use dynamic frameworks
use_frameworks!
inhibit_all_warnings!
platform :ios, '16.0'
pod 'FirebaseAuth'
pod 'FirebaseCore'
pod 'FirebaseDatabase'
pod 'FirebaseStorage'
pod 'GoogleUtilities'
end
Android Studio Version:
Android Studio Meerkat Feature Drop | 2024.3.2 Beta 1
Build #AI-243.25659.59.2432.13218502, built on March 15, 2025
Runtime version: 21.0.6+-13119726-b895.91 aarch64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Toolkit: sun.lwawt.macosx.LWCToolkit
macOS 15.3.2
GC: G1 Young Generation, G1 Concurrent GC, G1 Old Generation
Memory: 4096M
Cores: 11
Metal Rendering is ON
Registry:
vcs.log.index.enable=true
ide.experimental.ui=true
terminal.new.ui=true
Non-Bundled Plugins:
com.intellij.marketplace (243.25659.59)
dev.j-a.swift (1.3.1.388-243)
wu.seal.tool.jsontokotlin (3.7.6)
org.moe (1.5.4)
com.jetbrains.kmm (0.8.5(243)-7)
io.kotzilla.koin (1.0.3)
org.jetbrains.compose.desktop.ide (1.7.3)
de.drick.compose.hotpreview.plugin (0.5.0-2024.3.2)
app.teamhub (18.0.9)
com.github.copilot (1.5.40-243)
Xcode version:
Xcode Version 16.2 (16C5032a)
Issue
Executing of 'xcodebuild -project Pods.xcodeproj -scheme FirebaseAuth -destination generic/platform=iOS Simulator -configuration Debug' failed with code 65 and message:
/Users/harishg/fleet/LocalOffersMerchant/composeApp/build/cocoapods/synthetic/ios/build/Debug-iphonesimulator/GoogleUtilities/GoogleUtilities_GoogleUtilities-UserDefaults.bundle: No such file or directory (in target 'GoogleUtilities-GoogleUtilities_Privacy' from project 'Pods')
/Users/harishg/fleet/LocalOffersMerchant/composeApp/build/cocoapods/synthetic/ios/build/Debug-iphonesimulator/GoogleUtilities/leveldb_leveldb.bundle: No such file or directory (in target 'GoogleUtilities-GoogleUtilities_Privacy' from project 'Pods')
/Users/harishg/fleet/LocalOffersMerchant/composeApp/build/cocoapods/synthetic/ios/build/Debug-iphonesimulator/GoogleUtilities/GoogleUtilities_GoogleUtilities-Reachability.bundle: No such file or directory (in target 'GoogleUtilities-GoogleUtilities_Privacy' from project 'Pods')
/Users/harishg/fleet/LocalOffersMerchant/composeApp/build/cocoapods/synthetic/ios/build/Debug-iphonesimulator/GoogleUtilities/GoogleUtilities_GoogleUtilities-Network.bundle: No such file or directory (in target 'GoogleUtilities-GoogleUtilities_Privacy' from project 'Pods')