xcodecrashcrashlyticsdsym

I can't symbolicate crash in Firebase/Crashlytics in PROD


Working with Xcode 10.1 (10B61). I have an App with different Targets (PROD, TEST, DEV). Even though we have multiple targets we have a common Info.plist and all Build Settings are the same

I distribute the app for testing using TestFlight.

For the TEST environment (in TestFlight) everything works fine and Crashlytics is able to get the symbols directly, but for Production (AppStore build) it reports a missing dSym (with a specific UUID)

Given that I am not using bitcode (due to a specific Bluetooth library), I can't download the dSym file from iTunesConnect, so I have to dig into the .xcarchive to get it.

$ mdfind "com_apple_xcode_dsym_uuids == <UUID>" // shows the right path
$ dwarfdump -u "path.../dSyms/<name>.app.dSym   // shows the right UUID

I zipped the file but Crashlytics says that it uploaded correctly but it doesn't seem to work... (after hours).. The *.app.dSYM is a folder, so using the trick of renaming it to be .zip didn't work (as with some files downloaded from ITC)

Any idea what may be happening?

Rgds.... e


Solution

  • Answering my own question. After checking with the Firebase support team, the solution was to upload the dSym file via the command line (for some reason, the web upload was not working as expected).

    1 - Find the dSym file with UUID

    $ mdfind "com_apple_xcode_dsym_uuids == 029BC62A-AB08-3C50-97D8-E8DFD5E490AA"
    

    2 - Verify checking the UUID of file

    $ dwarfdump -u "path.../dSyms/<name>.app.dSym
    

    3 - Upload symbols in Terminal

    $ Pods/Fabric/upload-symbols -gsp "AppName/Resources/Crashlytics plist Files/Prod/GoogleService-Info.plist" -p ios "/Users/userName/Library/Developer/Xcode/Archives/../*.xcarchive/dSYMs/fileName.app.dSYM"