[bug]: Missing dSYM files from obfuscated and released iOS app
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
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
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...
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 🙏
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.
Any news on this?
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 :
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 - thank you for the confirmation. Closing out now this has been fixed upstream in Flutter.