flutterfire_cli icon indicating copy to clipboard operation
flutterfire_cli copied to clipboard

[bug]: Missing dSYM files from obfuscated and released iOS app

Open Tom3652 opened this issue 1 year ago • 2 comments

Is there an existing issue for this?

  • [X] I have searched the existing issues.

CLI Version

1.0.0

Firebase Tools version

13.20.2

Flutter Doctor Output

flutter doctor Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel stable, 3.24.3, on macOS 15.0.1 24A348 darwin-x64, locale fr-FR) [✓] Android toolchain - develop for Android devices (Android SDK version 35.0.0) [✓] Xcode - develop for iOS and macOS (Xcode 16.0) [✓] Chrome - develop for the web [✓] Android Studio (version 2024.2) [✓] VS Code (version 1.94.0) [✓] Connected device (3 available) [✓] Network resources

• No issues found!

Description

I am creating this issue to follow-up on this issue After releasing an app with this command :

flutter build ipa --obfuscate --release --split-debug-info=/Users/foxtom/StudioProjects/MyProject/build --build-name=1.1.0 --build-number=1

And having this script as the last Build Phase in Xcode :

#!/bin/bash
PATH=${PATH}:$FLUTTER_ROOT/bin:$HOME/.pub-cache/bin
flutterfire upload-crashlytics-symbols --upload-symbols-script-path=$PODS_ROOT/FirebaseCrashlytics/upload-symbols --platform=ios --apple-project-path=${SRCROOT} --env-platform-name=${PLATFORM_NAME} --env-configuration=${CONFIGURATION} --env-project-dir=${PROJECT_DIR} --env-built-products-dir=${BUILT_PRODUCTS_DIR} --env-dwarf-dsym-folder-path=${DWARF_DSYM_FOLDER_PATH} --env-dwarf-dsym-file-name=${DWARF_DSYM_FILE_NAME} --env-infoplist-path=${INFOPLIST_PATH} --default-config=default
Capture d’écran 2024-10-08 à 09 47 48

The result is this crashlytics dashboard (please see Screenshots below)

Steps to reproduce

Try to create a .ipa file with an xcode archive using flutter build ipa --obfuscate --release --split-debug-info=/Users/foxtom/StudioProjects/MyProject/build --build-name=1.1.0 --build-number=1 for a complex project with a lot of dependencies (since i don't know which one is missing, or maybe some flutter dSYMs ?)

Expected behavior

I would like the flutterfire_cli to upload all the dSYMs for my project to crashlytics.

Screenshots

Capture d’écran 2024-10-08 à 09 41 06

Additional context and comments

Note : this may be an issue unrelated to flutterfire_cli and there are actually really missing dSYM files from the xcode archive that you can't find either, in that case it would be a Flutter issue when building a released obfuscated iOS IPA that doesn't put all the dSYM into the archive...

Tom3652 avatar Oct 08 '24 07:10 Tom3652

I have just build in release mode without obfuscation and i saw 2 crashlytics missing dSYM very quickly by running into an error in my app. One of the missing dSYM file was inside : /build/ios/Release-iphoneos/ and was the Runner.app.dSYM that didn't seem to be uploaded during the build. The second missing dSYM file apparently doesn't exist on my local machine after the build.

I have found the first by running : mdfind -name .dSYM | while read -r line; do dwarfdump -u "$line"; done

It may be a first lead 🙏

Tom3652 avatar Oct 08 '24 17:10 Tom3652

I am in an open case with Firebase support they are working on the issue and i will update here once i have more information.

Tom3652 avatar Oct 21 '24 07:10 Tom3652

Any news on this?

solshark avatar Nov 14 '24 16:11 solshark

Well it seems there were no problem with the CLI, i have no more missing dSYM files since i have upgrade to Flutter 3.24.5 that fixes especially the first point : Capture d’écran 2024-11-26 à 14 24 58

And so far i have no more issues with the dSYM files missing, Firebase support told me that everything was fine on their side and provided guidance about the usual steps to be sure in Xcode we have set the DWARF with dSYM files flag in the debug build format but that's all.

Tom3652 avatar Nov 26 '24 13:11 Tom3652

@Tom3652 - thank you for the confirmation. Closing out now this has been fixed upstream in Flutter.

russellwheatley avatar Dec 18 '24 16:12 russellwheatley