I am facing an issue with Firebase Crashlytics in my Flutter app where the dSYM files are successfully uploaded, but the UUIDs are not matched on the Firebase console.
As seen in the attached image, some UUIDs show up as “Missing (required)” even though the dSYMs have been uploaded.
Additionally, I have set the script to run for install builds only, and I ensured the script is the last to run in my build phases.
Environment details:
- Flutter version: 3.19.6
- Firebase_crashlytics: ^4.0.4
- Xcode version:15.4
Build command:
flutter build ipa --flavor production --dart-define=ENVIRONMENT=prod
upload script
# Upload dSYM files to Firebase Crashlytics
echo "Attempting to upload dSYM to Firebase Crashlytics..."
upload_output=$($PODS_ROOT/FirebaseCrashlytics/upload-symbols --build-phase -ai "$APP_ID" 2>&1)
upload_exit_code=$?
echo "Upload output: $upload_output"
The upload seems to succeed, but Firebase doesn’t seem to match the UUIDs correctly. Has anyone experienced this issue or have any insights on how to resolve the UUID mismatch?
I confirm the uuid with
dwarfdump --uuid myApp_production.app.dSYM yet Crashlytis seems to expect a different uuid
Could this be the answer?
I have been running on my development machine on the simulator and devices, since I set the “install builds only” flag. Firebase thinks it is a crash from a real device.
By restricting the script to “install builds only,” you’re preventing dSYM uploads during development builds. This means that when a crash occurs on your development machine, Firebase sees a crash report but doesn’t have the matching dSYM file to symbolize it because it was never uploaded.
Firebase Crashlytics treats all crash reports equally, whether they’re from a development environment or a production environment. So, if a crash occurs on your local machine, it still tries to look for a matching dSYM file. Since your script isn’t uploading dSYMs for development builds, Firebase can’t match the UUIDs, and it shows them as “Missing (required).”
Possible Solutions: Upload dSYMs for all builds (not just install builds):