Search code examples
iosfirebasefirebase-crash-reporting

Firebase Crash Reporting - Not all symbol files uploaded


I've set up Firebase Crash Reporting, including the run script as per the Firebase documentation, but there's a big issue: not all symbol files are uploaded when I build a new archive.

After I build a new archive, two UUID's symbol files were uploaded to the Firebase Console; however, there are dozens of UUID's for the archive I built (I know this from downloading the dSYMs from iTunes Connect).

Now, I've had a few crash reports come in, none of which are symbolicated. I can manually upload the dSYM files for each missing UUID using Firebase's batch-upload script, but that only allows future stack traces to be symbolicated. Any existing crashes are virtually useless to me.

There isn't much Firebase documentation about how the symbol files are uploaded, but from what I gather, all symbols should be uploaded for each new build, including archive builds.

So I guess my questions are:

  1. Am I missing a setup step?
  2. If this is expected behaviour, what is going on? Why are only some files uploaded?
  3. Does the run script output a log? Maybe I can view it and see if there were any errors.

Here is my run script:

if [ "$CONFIGURATION" == "Release" ]; then
    GOOGLE_APP_ID=<app-id>
    "${PODS_ROOT}"/FirebaseCrash/upload-sym "${SRCROOT}"/<app>/Firebase/CrashReportingKey.json
fi

Thanks!


Solution

  • It sounds like you're using bitcode? There's special instructions for that.

    https://firebase.google.com/docs/crash/ios#bitcode_support