
Enables seamless integration with Firebase Crashlytics, tracking user events, monitoring app performance, and gaining insights into user behavior through a unified API.
KFirebaseCrashlytics is available on mavenCentral().
| KFirebaseCrashlytics Version | Firebase iOS SDK | Minimum iOS Version |
|---|---|---|
| 1.1.2 | Firebase v11.x | iOS 13+ |
| 2.0.0 | Firebase v12.x | iOS 15+ |
commonMain.dependencies {
implementation("io.github.the-best-is-best:kfirebase-crashlytics:2.1.0")
...
}
appleMain.dependencies{
api("io.github.the-best-is-best:kfirebase-crashlytics:1.1.1")
}
listOf(
iosX64(),
iosArm64(),
iosSimulatorArm64()
).forEach { iosTarget ->
iosTarget.binaries.framework {
baseName = "ComposeApp"
isStatic = true
export("io.github.the-best-is-best:kfirebase-crashlytics:2.0.0") // need this
}
}Make sure to add Firebase as a dependency using Swift Package Manager (SPM).
File > Add Packages....https://github.com/firebase/firebase-ios-sdk
FirebaseCrashlytics and add it to your project.By default, Kotlin exceptions on iOS can be hard to read in the Firebase Console. We highly recommend using NSExceptionKt alongside this package to get clear, readable Kotlin stack traces.
FirebaseApp.configure()
KFirebaseCrashlyticsInit.shared.doInitCrashlytics()
... AndroidKFirebaseCore.initialization(this)
AndroidKFirebaseCrashlytics.init()
https://crashkios.touchlab.co/docs/crashlytics CrashKiOS
ElevatedButton(
onClick = {
CrashlyticsKotlin.sendHandledException(Exception("kotlin exception"))
}
)
{
Text("Record Exception with crashlytics iso")
}
...expect class KFirebaseCrashlytics() {
fun log(message: String)
fun recordException(throwable: Throwable)
fun trackHandledException(throwable: Throwable)
fun setUserId(userId: String)
fun setCustomKey(key: String, value: String)
fun setCustomKey(key: String, value: Boolean)
fun setCustomKey(key: String, value: Double)
fun setCustomKey(key: String, value: Float)
fun setCustomKey(key: String, value: Int)
fun setCustomKey(key: String, value: Long)
fun setCustomKeys(customKeys: Map<String, Any>)
fun setCrashlyticsCollectionEnabled(enabled: Boolean)
fun didCrashOnPreviousExecution(): Boolean
fun sendUnsentReports()
fun deleteUnsentReports()
}KFirebaseCrashlytics is available on mavenCentral().
| KFirebaseCrashlytics Version | Firebase iOS SDK | Minimum iOS Version |
|---|---|---|
| 1.1.2 | Firebase v11.x | iOS 13+ |
| 2.0.0 | Firebase v12.x | iOS 15+ |
commonMain.dependencies {
implementation("io.github.the-best-is-best:kfirebase-crashlytics:2.1.0")
...
}
appleMain.dependencies{
api("io.github.the-best-is-best:kfirebase-crashlytics:1.1.1")
}
listOf(
iosX64(),
iosArm64(),
iosSimulatorArm64()
).forEach { iosTarget ->
iosTarget.binaries.framework {
baseName = "ComposeApp"
isStatic = true
export("io.github.the-best-is-best:kfirebase-crashlytics:2.0.0") // need this
}
}Make sure to add Firebase as a dependency using Swift Package Manager (SPM).
File > Add Packages....https://github.com/firebase/firebase-ios-sdk
FirebaseCrashlytics and add it to your project.By default, Kotlin exceptions on iOS can be hard to read in the Firebase Console. We highly recommend using NSExceptionKt alongside this package to get clear, readable Kotlin stack traces.
FirebaseApp.configure()
KFirebaseCrashlyticsInit.shared.doInitCrashlytics()
... AndroidKFirebaseCore.initialization(this)
AndroidKFirebaseCrashlytics.init()
https://crashkios.touchlab.co/docs/crashlytics CrashKiOS
ElevatedButton(
onClick = {
CrashlyticsKotlin.sendHandledException(Exception("kotlin exception"))
}
)
{
Text("Record Exception with crashlytics iso")
}
...expect class KFirebaseCrashlytics() {
fun log(message: String)
fun recordException(throwable: Throwable)
fun trackHandledException(throwable: Throwable)
fun setUserId(userId: String)
fun setCustomKey(key: String, value: String)
fun setCustomKey(key: String, value: Boolean)
fun setCustomKey(key: String, value: Double)
fun setCustomKey(key: String, value: Float)
fun setCustomKey(key: String, value: Int)
fun setCustomKey(key: String, value: Long)
fun setCustomKeys(customKeys: Map<String, Any>)
fun setCrashlyticsCollectionEnabled(enabled: Boolean)
fun didCrashOnPreviousExecution(): Boolean
fun sendUnsentReports()
fun deleteUnsentReports()
}