This guide contains instructions for the latest version of the Firebase Crashlytics SDK. If you migrated your app from Fabric, make sure it's been upgraded and no longer uses the deprecated legacy Fabric SDK.

Get deobfuscated crash reports with the Firebase Crashlytics SDK

By default, Firebase Crashlytics automatically processes your debug symbol (dSYM) files to give you deobfuscated and human-readable crash reports. This behavior is set when you add a run script that initializes Crashlytics to your app's build phase.

Unfortunately, there are a few cases that could cause your dSYM upload to fail, such as bitcode in your app or other unique project configurations. This guide provides some ways to troubleshoot when Crashlytics can't locate your app's dSYM.

Check if Xcode is producing dSYMs

More often than not, dSYM files go missing because Xcode simply isn't producing them. When an upload fails, Crashlytics displays a "Missing dSYM" alert in the Firebase console. If you get this alert, first check that Xcode is producing the correct dSYM for every build:

  1. Open your project in Xcode and select the project file in the Xcode Navigator.

  2. Select your main build target.

  3. Open the target's Build Settings tab, then click All.

  4. Search for "debug information format".

  5. Set Debug Information Format to DWARF with dSYM File for all your build types.

  6. Rebuild your app.

Your crash reports should now appear in the Firebase console. If the problem persists or you encounter other errors, try locating your dSYM and uploading it to Crashlytics manually.

Locate your dSYMs

Sometimes Crashlytics can’t locate your app's dSYM due to bitcode configurations or the console's connectivity. When this happens, there are two additional ways you can troubleshoot:

Upload your dSYMs

As a back-up, Crashlytics includes an upload-symbols script that you can call from anywhere in your build process to manually upload your dSYMs. The script provides more information about the upload process and more robust error messaging (for usage notes and additional instructions, run upload-symbols without any parameters).

To run the upload-symbols script, use one of the following options:

  • Include the following line in your build process:

    find dSYM_directory -name "*.dSYM" | xargs -I \{\} $PODS_ROOT/FirebaseCrashlytics/upload-symbols -gsp /path/to/GoogleService-Info.plist -p platform \{\}
  • Run the script directly from your terminal:

    /path/to/pods/directory/FirebaseCrashlytics/upload-symbols -gsp /path/to/GoogleService-Info.plist -p ios /path/to/dSYMs