Troubleshooting
Troubleshoot and resolve edge cases when using Sentry's Kotlin Multiplatform SDK.
This document covers common issues you may encounter when using the Sentry Kotlin Multiplatform SDK and provides steps to troubleshoot.
If you need additional help, ask on GitHub. Customers on a paid plan can also contact support.
Starting May 1, 2024, Apple requires all apps submitted to the App Store to provide a list of privacy-related APIs they use, including the reasons under which they use it. If you received an email from Apple with the message "ITMS-91053: Missing API declaration", your app doesn't fulfill the requirements. To solve this, follow our Apple Privacy Manifest guide.
If you configured the Sentry Kotlin Multiplatform SDK and tests are still failing with the following error: ld: framework 'Sentry' not found then follow these steps for the workaround:
This example shows you how to fix the issue for the iOS simulator target, but the same approach can be used for other targets.
1. Download the Sentry xcframework
- Choose the Sentry Cocoa release based on the version specified in the version compatibility table
- Download the
Sentry.xcframework.zipon GitHub, and unzip it.
2. Create a frameworks directory and insert Sentry.framework
Create a /Frameworks directory in the directory where the test.kexe resides and put the Sentry.framework in it.
- The
Sentry.frameworkcan be found inside of theios-arm64_x86_64-simulator. - The
test.kexewill usually reside inbuild/bin/iosSimulatorArm64/debugTest.
3. Add linker options
Modify shared/build.gradle.kts to include linker options, as shown below:
shared/build.gradle.kts listOf(
iosX64(),
iosArm64(),
iosSimulatorArm64(),
).forEach {
it.binaries.framework {
baseName = "shared"
}
it.compilations.all {
if (compilationName == "test" && target.platformType == KotlinPlatformType.native) {
compilerOptions.configure {
freeCompilerArgs.add("-linker-options")
freeCompilerArgs.add("-F/your/path/Carthage/Build/Sentry.xcframework/ios-arm64_x86_64-simulator/")
}
}
}
}
4. Run the tests
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").