On November 15, the Fabric SDK and old versions of the Crashlytics SDK will stop sending crashes. To keep getting crash reports, make sure you upgrade to the latest version of the Firebase Crashlytics SDK (v17.0.0+ for Android, v4.0.0+ for iOS, or v6.15.0+ for Unity).

Get deobfuscated crash reports

Firebase Crashlytics automatically processes your debug symbol (.dSYM) files to give you deobfuscated, human-readable crash reports.

Unfortunately, there are a few situations when dSYM uploads fail, usually because of unique project configurations or Bitcode in your app. When an upload fails, Crashlytics displays a "Missing dSYM" alert in the Firebase console to let you know that it can't display crash reports properly.

If you get that alert, there are two things you can try to resolve the issue: check that Xcode is producing the correct dSYM files and, if it is, run the dSYM upload script manually.

Check if Xcode is producing debug symbol files

More often than not, symbol files go missing because Xcode simply isn't producing them. Here's how to check if your project is generating dSYMs with every build:

  1. Open your project in Xcode, and select the project file in the Xcode Navigator.
  2. Select your main build target from the Select a project or target dropdown.
  3. Open the target's Build Settings tab.
  4. Click All near the top of the tab.
  5. Search for "debug information format".
  6. Set Debug Information Format to DWARF with dSYM File.

Once you've done that, build your app again and check the Firebase console to see if Crashlytics can find your dSYMs.

Run the upload symbols script manually

As a back-up, Crashlytics also includes upload-symbols, a script that you can call anywhere in your build process to upload your dSYMs manually. The script provides more information about the upload process and more robust error messaging.

Important: If you're working with an app that you previously linked from Fabric to Firebase Crashlytics, pass in your Fabric API Key to run the upload symbols script. That is, in the following options to run the script, use -a fabric-api-key instead of -gsp path/to/GoogleService-Info.plist.

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/Fabric/upload-symbols -gsp /path/to/GoogleService-Info.plist -p platform \{\}
  • Run the script directly from your terminal:

    /path/to/pods/directory/Fabric/upload-symbols -gsp /path/to/GoogleService-Info.plist -p ios /path/to/dSYMs
  • Run the script from an Xcode run script build phase:

    "${PODS_ROOT}/Fabric/upload-symbols" -gsp "${PROJECT_DIR}/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
Note: If you're having trouble, run upload-symbols without any parameters to get usage notes and additional instructions.