Skip to content

Commit 24ae281

Browse files
committed
add part on dynamic dsym issues
1 parent 9518bb9 commit 24ae281

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

website/docs/CrashlyticsTutorial.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,26 @@ To workaround this, we need to tell the compiler that these symbols are find and
7878
id("co.touchlab.crashkios.crashlyticslink") version "x.y.z"
7979
```
8080

81+
## Step 3b - Send dSYMS for Dynamic Framework
82+
If you're using a dynamic framework you may also see a warning on the Crashlytics dashboard about missing dSYMS or "Missing UUID" in the stack trace of Kotlin crashes. If that happens adding a build phase to push the Kotlin framework dSYM to Crashlytics separately should resolve it.
83+
84+
In Xcode, select your project on the left sidebar, open the Build Phases Tab, and press the `+` in the top left. The select
85+
"New Run Script Phase" and give it a name like "Upload Kotlin dSYM".
86+
Add this script to the build phase
87+
```bash
88+
Pods/FirebaseCrashlytics/upload-symbols -gsp ios/GoogleService-Info.plist -p ios ../shared/build/cocoapods/framework/shared.framework.dSYM
89+
```
90+
![img.png](add_build_phase.png)
91+
92+
You may need to make slight changes to this script to fit your project. In The snippet above we're using `shared` as our
93+
Kotlin module and framework name, and we're exporting to iOS using CocoaPods. Make sure the directory and framework name
94+
matches what's in your project by looking in the build folder for your Kotlin module and getting the relative path.
95+
If you're not using CocoaPods, you may need to find the dSYMs your project generates and make sure to upload each one
96+
separately with the above command. Use this in the shared Kotlin module's directory to get a lis of all of the dSYMs
97+
```bash
98+
find ./build -name "*.dSYM"
99+
```
100+
81101
## Sending Extra Info to Crashlytics
82102
CrashKiOS-crashlytics also provides shared code wrappers for sending logs and custom key values to Crashlytics. When there is a crash, these will show up in the Logs and Keys tabs on the dashboard respectively.
83103
```kotlin

website/docs/add_build_phase.png

107 KB
Loading

0 commit comments

Comments
 (0)