Fabric + dSYM Files
I wanted to add crash monitoring and error logging in an iOS app I’m building, so I turned to Crashlytics, which is under the Fabric umbrella. If you’re unfamiliar with what Fabric is, they are a modular mobile platform which makes building apps much easier. Check them out.
Fabric has a great desktop app to help you insert the necessary code snippets and verify you installed Crashlytics correctly. Following this, they provide code examples of how you can log a non-fatal error and/or cause an intentional crash.
If you follow these examples you should have no problem causing a crash and having it show up in your Crashlytics dashboard. If no crashes get reported in your dashboard, there are two potential scenarios:
- You’re missing the necessary dSYM file from the build. You’ll get an alert in your dashboard letting you know crashes occurred from missing dSYM files, but since they are missing, Fabric is unable to report on them.
- You are legitimately not seeing crashes. If this is the case, look at the documentation here to work through some XCode debugging shenanigans.
In the case of the missing dSYM alert, there are many potential places you can find your dSYM files. Fabric’s documentation is really thorough and they walk you through where to look:
But what happens if you search all these places and are still unable to find your missing dSYM file?!
You might not be generating it in the first place.
To confirm, go to the Build Settings
in your project and look for Debug Information Format
. You might see something like this:
Change the Debug
from DWARF
to DWARF with dSYM File
.
Now XCode will generate a dSYM file for every build.
This is nice to test your error logging and to confirm Fabric is hooked up to correctly report crashes. But a note of caution, this will generate a dSYM file for every build and will slow down your compile time.