firebase / flutterfire

🔥 A collection of Firebase plugins for Flutter apps.
https://firebase.google.com/docs/flutter/setup
BSD 3-Clause "New" or "Revised" License
8.58k stars 3.94k forks source link

[firebase_crashlytics]: dSYM file taking to long to create and build crashes #12686

Closed Flucadetena closed 4 months ago

Flucadetena commented 4 months ago

Is there an existing issue for this?

Which plugins are affected?

Crashlytics

Which platforms are affected?

iOS

Description

I expect the app to build, but it crushes due to not finding the Runner.app.dSYM file.

The file exists but there are no contents inside. After trying all the scripts and options out there i found that the problem is the creation of the file takes too long.

If I add a "sleep 100" in the top of the script in Ios, the compilation works.

After building once it works fine for the rest of the builds, even if I lower the sleep time. But this is due to having the old file already build. If I change the target device the problem comes back again.

Reproducing the issue

I think it may be related to using lots of packages and specially one that adds a lot of pods to build. That causes the ".dSYM" file to not have any contents by the time it tries to upload it.

Firebase Core version

2.4.1

Flutter Version

3.19.6

Relevant Log Output

Error (Xcode): Could not complete submission of dSYM at ~/app/build/ios/Debug-dev-iphonesimulator/Runner.app.dSYM: Error Domain=com.crashlytics.mac.error-domain.process-dsym Code=2 "File no longer exists at (null)" UserInfo={NSLocalizedFailureReason=File no longer exists at (null)}

Flutter dependencies

Expand Flutter dependencies snippet
```yaml Dart SDK 3.3.4 Flutter SDK 3.19.6 movn 2.15.2+109 dependencies: - android_id 0.3.6 [flutter] - animated_background 2.0.0 [flutter meta] - animated_stack 0.2.0 [flutter] - app_review 2.1.2+1 [http package_info_plus url_launcher flutter] - audioplayers 5.2.1 [audioplayers_android audioplayers_darwin audioplayers_linux audioplayers_platform_interface audioplayers_web audioplayers_windows file flutter http meta path_provider synchronized uuid] - auto_size_text 3.0.0 [flutter] - cached_network_image 3.3.1 [cached_network_image_platform_interface cached_network_image_web flutter flutter_cache_manager octo_image] - calendar_timeline 1.1.2 [flutter intl scrollable_positioned_list] - cloud_firestore 4.17.0 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta] - cloud_functions 4.7.2 [cloud_functions_platform_interface cloud_functions_web firebase_core firebase_core_platform_interface flutter] - collection 1.18.0 - country_pickers 2.0.0 [flutter] - cupertino_icons 1.0.8 - custom_refresh_indicator 3.1.0 [flutter meta] - device_info_plus 9.1.2 [device_info_plus_platform_interface ffi file flutter flutter_web_plugins meta win32 win32_registry] - dotted_border 2.1.0 [flutter path_drawing] - expandable 5.0.1 [flutter] - file_picker 8.0.2 [flutter flutter_web_plugins flutter_plugin_android_lifecycle plugin_platform_interface ffi path win32 cross_file web] - firebase_analytics 10.10.2 [firebase_analytics_platform_interface firebase_analytics_web firebase_core firebase_core_platform_interface flutter] - firebase_app_check 0.2.2+2 [firebase_app_check_platform_interface firebase_app_check_web firebase_core firebase_core_platform_interface flutter] - firebase_auth 4.19.2 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta] - firebase_core 2.30.0 [firebase_core_platform_interface firebase_core_web flutter meta] - firebase_crashlytics 3.5.2 [firebase_core firebase_core_platform_interface firebase_crashlytics_platform_interface flutter stack_trace] - firebase_dynamic_links 5.5.2 [firebase_core firebase_core_platform_interface firebase_dynamic_links_platform_interface flutter meta plugin_platform_interface] - firebase_messaging 14.8.2 [firebase_core firebase_core_platform_interface firebase_messaging_platform_interface firebase_messaging_web flutter meta] - firebase_performance 0.9.4+2 [firebase_core firebase_core_platform_interface firebase_performance_platform_interface firebase_performance_web flutter] - firebase_remote_config 4.4.2 [firebase_core firebase_core_platform_interface firebase_remote_config_platform_interface firebase_remote_config_web flutter] - firebase_storage 11.7.2 [firebase_core firebase_core_platform_interface firebase_storage_platform_interface firebase_storage_web flutter] - flag 7.0.0 [flutter flutter_svg enum_to_string] - flex_color_scheme 7.3.1 [flex_seed_scheme flutter meta] - flip 2.0.0 [flutter] - floating_bubbles 3.2.0 [simple_animations audioplayers path_provider flutter] - flutter 0.0.0 [characters collection material_color_utilities meta vector_math sky_engine] - flutter_cache_manager 3.3.1 [clock collection file flutter http path path_provider rxdart sqflite uuid] - flutter_countdown_timer 4.1.0 [flutter] - flutter_cube 0.1.8 [flutter vector_math http path] - flutter_google_places_sdk 0.3.7 [flutter flutter_google_places_sdk_platform_interface flutter_google_places_sdk_ios flutter_google_places_sdk_web flutter_google_places_sdk_android flutter_google_places_sdk_windows flutter_google_places_sdk_linux flutter_google_places_sdk_macos] - flutter_html 3.0.0-beta.2 [html csslib collection list_counter flutter] - flutter_inappwebview 6.0.0 [flutter flutter_inappwebview_platform_interface flutter_inappwebview_android flutter_inappwebview_ios flutter_inappwebview_macos flutter_inappwebview_web] - flutter_localizations 0.0.0 [flutter intl characters clock collection material_color_utilities meta path vector_math] - flutter_native_splash 2.4.0 [args flutter flutter_web_plugins html image meta path universal_io xml yaml ansicolor] - flutter_speed_dial 7.0.0 [flutter] - flutter_staggered_grid_view 0.7.0 [flutter] - flutter_statusbarcolor_ns 0.5.0 [flutter] - flutter_stripe 10.1.1 [flutter meta stripe_android stripe_ios stripe_platform_interface] - flutter_vibrate 1.3.0 [flutter] - geoflutterfire 3.0.3 [flutter cloud_firestore rxdart flutter_lints] - geolocator 11.0.0 [flutter geolocator_platform_interface geolocator_android geolocator_apple geolocator_web geolocator_windows] - get 4.6.6 [flutter] - google_fonts 6.2.1 [flutter http path_provider crypto] - google_maps_flutter 2.5.3 [flutter google_maps_flutter_android google_maps_flutter_ios google_maps_flutter_platform_interface google_maps_flutter_web] - google_sign_in 6.2.1 [flutter google_sign_in_android google_sign_in_ios google_sign_in_platform_interface google_sign_in_web] - gradient_widgets 0.6.0 [flutter] - http 1.2.1 [async http_parser meta web] - image_cropper 5.0.1 [flutter image_cropper_platform_interface image_cropper_for_web] - image_gallery_saver 2.0.3 [flutter] - image_picker 1.1.0 [flutter image_picker_android image_picker_for_web image_picker_ios image_picker_linux image_picker_macos image_picker_platform_interface image_picker_windows] - intl 0.18.1 [clock meta path] - lottie 3.1.0 [archive flutter http path vector_math] - motion 2.0.0 [flutter motion_web motion_platform_interface] - open_filex 4.4.0 [flutter ffi] - package_info_plus 4.2.0 [ffi flutter flutter_web_plugins http meta path package_info_plus_platform_interface win32] - parsed_readmore 0.0.9 [flutter url_launcher] - path_provider 2.1.3 [flutter path_provider_android path_provider_foundation path_provider_linux path_provider_platform_interface path_provider_windows] - pay 2.0.0 [flutter flutter_localizations pay_android pay_ios pay_platform_interface meta] - pdfx 2.6.0 [flutter flutter_web_plugins plugin_platform_interface js device_info_plus uuid meta extension synchronized universal_platform photo_view vector_math] - pedometer_plus 1.0.1 [flutter] - percent_indicator 4.2.3 [flutter] - reorderables 0.6.0 [flutter] - rxdart 0.27.7 - scrollable_positioned_list 0.3.8 [flutter collection] - share 2.0.4 [meta mime flutter] - shared_preferences 2.2.3 [flutter shared_preferences_android shared_preferences_foundation shared_preferences_linux shared_preferences_platform_interface shared_preferences_web shared_preferences_windows] - sign_in_with_apple 6.1.0 [flutter meta sign_in_with_apple_platform_interface sign_in_with_apple_web] - skeleton_animation 0.1.4 [flutter] - sliding_up_panel 2.0.0+1 [flutter] - stack_appodeal_flutter 3.2.1 [flutter] - staggered_reorderable 0.1.1 [flutter] - syncfusion_flutter_datepicker 25.1.40 [flutter intl syncfusion_flutter_core] - table_calendar 3.0.9 [flutter intl simple_gesture_detector] - timeago 3.6.1 [intl] - transparent_image 2.0.1 - url_launcher 6.2.6 [flutter url_launcher_android url_launcher_ios url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows] - video_player 2.8.6 [flutter html video_player_android video_player_avfoundation video_player_platform_interface video_player_web] - visibility_detector 0.4.0+2 [flutter] dev dependencies: - flutter_lints 2.0.3 [lints] - flutter_test 0.0.0 [flutter test_api matcher path fake_async clock stack_trace vector_math leak_tracker_flutter_testing async boolean_selector characters collection leak_tracker leak_tracker_testing material_color_utilities meta source_span stream_channel string_scanner term_glyph vm_service] transitive dependencies: - _flutterfire_internals 1.3.30 [collection firebase_core firebase_core_platform_interface flutter meta] - ansicolor 2.0.2 - archive 3.4.10 [crypto path pointycastle] - args 2.5.0 - async 2.11.0 [collection meta] - audioplayers_android 4.0.3 [audioplayers_platform_interface flutter] - audioplayers_darwin 5.0.2 [audioplayers_platform_interface flutter] - audioplayers_linux 3.1.0 [audioplayers_platform_interface flutter] - audioplayers_platform_interface 6.1.0 [flutter meta plugin_platform_interface] - audioplayers_web 4.1.0 [audioplayers_platform_interface flutter flutter_web_plugins js] - audioplayers_windows 3.1.0 [audioplayers_platform_interface flutter] - boolean_selector 2.1.1 [source_span string_scanner] - cached_network_image_platform_interface 4.0.0 [flutter flutter_cache_manager] - cached_network_image_web 1.1.1 [cached_network_image_platform_interface flutter flutter_cache_manager] - characters 1.3.0 - clock 1.1.1 - cloud_firestore_platform_interface 6.2.0 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface] - cloud_firestore_web 3.12.0 [_flutterfire_internals cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins] - cloud_functions_platform_interface 5.5.24 [firebase_core flutter meta plugin_platform_interface] - cloud_functions_web 4.9.2 [cloud_functions_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins] - convert 3.1.1 [typed_data] - cross_file 0.3.4+1 [meta web] - crypto 3.0.3 [typed_data] - csslib 0.17.3 [source_span] - device_info_plus_platform_interface 7.0.0 [flutter meta plugin_platform_interface] - enum_to_string 2.0.1 - extension 0.6.0 [meta] - fake_async 1.3.1 [clock collection] - ffi 2.1.2 - file 7.0.0 [meta path] - file_selector_linux 0.9.2+1 [cross_file file_selector_platform_interface flutter] - file_selector_macos 0.9.3+3 [cross_file file_selector_platform_interface flutter] - file_selector_platform_interface 2.6.2 [cross_file flutter http plugin_platform_interface] - file_selector_windows 0.9.3+1 [cross_file file_selector_platform_interface flutter] - firebase_analytics_platform_interface 3.10.3 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface] - firebase_analytics_web 0.5.7+2 [_flutterfire_internals firebase_analytics_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins] - firebase_app_check_platform_interface 0.1.0+24 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface] - firebase_app_check_web 0.1.2+2 [_flutterfire_internals firebase_app_check_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins web] - firebase_auth_platform_interface 7.2.3 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface] - firebase_auth_web 5.11.2 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser meta web] - firebase_core_platform_interface 5.0.0 [collection flutter flutter_test meta plugin_platform_interface] - firebase_core_web 2.15.0 [firebase_core_platform_interface flutter flutter_web_plugins meta web] - firebase_crashlytics_platform_interface 3.6.30 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface] - firebase_dynamic_links_platform_interface 0.2.6+30 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface] - firebase_messaging_platform_interface 4.5.32 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface] - firebase_messaging_web 3.8.2 [_flutterfire_internals firebase_core firebase_core_web firebase_messaging_platform_interface flutter flutter_web_plugins meta web] - firebase_performance_platform_interface 0.1.4+30 [_flutterfire_internals firebase_core flutter plugin_platform_interface] - firebase_performance_web 0.1.6+2 [_flutterfire_internals firebase_core firebase_core_web firebase_performance_platform_interface flutter flutter_web_plugins] - firebase_remote_config_platform_interface 1.4.30 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface] - firebase_remote_config_web 1.6.2 [firebase_core firebase_core_web firebase_remote_config_platform_interface flutter flutter_web_plugins] - firebase_storage_platform_interface 5.1.17 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface] - firebase_storage_web 3.9.2 [_flutterfire_internals async firebase_core firebase_core_web firebase_storage_platform_interface flutter flutter_web_plugins http meta web] - fixnum 1.1.0 - flex_seed_scheme 1.5.0 [collection flutter meta] - flutter_google_places_sdk_android 0.1.8 [flutter flutter_google_places_sdk_platform_interface] - flutter_google_places_sdk_http 0.1.4 [flutter http latlong2 flutter_google_places_sdk_platform_interface freezed_annotation json_annotation] - flutter_google_places_sdk_ios 0.1.4 [flutter flutter_google_places_sdk_platform_interface] - flutter_google_places_sdk_linux 0.1.4 [flutter flutter_google_places_sdk_platform_interface flutter_google_places_sdk_http] - flutter_google_places_sdk_macos 0.1.4 [flutter flutter_google_places_sdk_platform_interface flutter_google_places_sdk_http] - flutter_google_places_sdk_platform_interface 0.2.7 [flutter freezed_annotation json_annotation plugin_platform_interface] - flutter_google_places_sdk_web 0.1.6 [flutter flutter_web_plugins flutter_google_places_sdk_platform_interface js google_maps collection] - flutter_google_places_sdk_windows 0.1.4 [flutter flutter_google_places_sdk_platform_interface flutter_google_places_sdk_http] - flutter_inappwebview_android 1.0.13 [flutter flutter_inappwebview_platform_interface] - flutter_inappwebview_internal_annotations 1.1.1 - flutter_inappwebview_ios 1.0.13 [flutter flutter_inappwebview_platform_interface] - flutter_inappwebview_macos 1.0.11 [flutter flutter_inappwebview_platform_interface] - flutter_inappwebview_platform_interface 1.0.10 [flutter flutter_inappwebview_internal_annotations plugin_platform_interface] - flutter_inappwebview_web 1.0.8 [flutter flutter_web_plugins js flutter_inappwebview_platform_interface] - flutter_plugin_android_lifecycle 2.0.19 [flutter] - flutter_svg 2.0.10+1 [flutter http vector_graphics vector_graphics_codec vector_graphics_compiler] - flutter_web_plugins 0.0.0 [flutter characters collection material_color_utilities meta vector_math] - freezed_annotation 2.4.1 [collection json_annotation meta] - geolocator_android 4.5.4 [flutter geolocator_platform_interface meta uuid] - geolocator_apple 2.3.7 [flutter geolocator_platform_interface] - geolocator_platform_interface 4.2.2 [flutter plugin_platform_interface vector_math meta] - geolocator_web 3.0.0 [flutter flutter_web_plugins geolocator_platform_interface] - geolocator_windows 0.2.3 [flutter geolocator_platform_interface] - google_identity_services_web 0.3.1+1 [meta web] - google_maps 6.3.0 [js js_wrapping meta] - google_maps_flutter_android 2.7.0 [flutter flutter_plugin_android_lifecycle google_maps_flutter_platform_interface stream_transform] - google_maps_flutter_ios 2.6.0 [flutter google_maps_flutter_platform_interface stream_transform] - google_maps_flutter_platform_interface 2.6.0 [collection flutter plugin_platform_interface stream_transform] - google_maps_flutter_web 0.5.4+3 [collection flutter flutter_web_plugins google_maps google_maps_flutter_platform_interface sanitize_html stream_transform] - google_sign_in_android 6.1.23 [flutter google_sign_in_platform_interface] - google_sign_in_ios 5.7.6 [flutter google_sign_in_platform_interface] - google_sign_in_platform_interface 2.4.5 [flutter plugin_platform_interface] - google_sign_in_web 0.12.4 [flutter flutter_web_plugins google_identity_services_web google_sign_in_platform_interface http web] - html 0.15.4 [csslib source_span] - http_parser 4.0.2 [collection source_span string_scanner typed_data] - image 4.1.7 [archive meta xml] - image_cropper_for_web 3.0.0 [flutter flutter_web_plugins image_cropper_platform_interface js] - image_cropper_platform_interface 5.0.0 [flutter plugin_platform_interface http] - image_picker_android 0.8.10 [flutter flutter_plugin_android_lifecycle image_picker_platform_interface] - image_picker_for_web 3.0.4 [flutter flutter_web_plugins image_picker_platform_interface mime web] - image_picker_ios 0.8.10 [flutter image_picker_platform_interface] - image_picker_linux 0.2.1+1 [file_selector_linux file_selector_platform_interface flutter image_picker_platform_interface] - image_picker_macos 0.2.1+1 [file_selector_macos file_selector_platform_interface flutter image_picker_platform_interface] - image_picker_platform_interface 2.10.0 [cross_file flutter http plugin_platform_interface] - image_picker_windows 0.2.1+1 [file_selector_platform_interface file_selector_windows flutter image_picker_platform_interface] - js 0.6.7 [meta] - js_wrapping 0.7.4 [js] - json_annotation 4.8.1 [meta] - latlong2 0.9.1 [intl] - leak_tracker 10.0.0 [clock collection meta path vm_service] - leak_tracker_flutter_testing 2.0.1 [flutter leak_tracker leak_tracker_testing matcher meta] - leak_tracker_testing 2.0.1 [leak_tracker matcher meta] - lints 2.1.1 - list_counter 1.0.2 - matcher 0.12.16+1 [async meta stack_trace term_glyph test_api] - material_color_utilities 0.8.0 [collection] - meta 1.11.0 - mime 1.0.5 - motion_platform_interface 2.0.0 [flutter meta plugin_platform_interface] - motion_web 2.0.0 [flutter flutter_web_plugins motion_platform_interface web] - octo_image 2.0.0 [flutter] - package_info_plus_platform_interface 2.0.1 [flutter meta plugin_platform_interface] - path 1.9.0 - path_drawing 1.0.1 [vector_math meta path_parsing flutter] - path_parsing 1.0.1 [vector_math meta] - path_provider_android 2.2.4 [flutter path_provider_platform_interface] - path_provider_foundation 2.3.2 [flutter path_provider_platform_interface] - path_provider_linux 2.2.1 [ffi flutter path path_provider_platform_interface xdg_directories] - path_provider_platform_interface 2.1.2 [flutter platform plugin_platform_interface] - path_provider_windows 2.2.1 [ffi flutter path path_provider_platform_interface win32] - pay_android 2.0.0 [flutter flutter_localizations pay_platform_interface] - pay_ios 1.0.11 [flutter pay_platform_interface] - pay_platform_interface 1.0.4 [flutter yaml] - petitparser 6.0.2 [meta] - photo_view 0.14.0 [flutter] - platform 3.1.4 - plugin_platform_interface 2.1.8 [meta] - pointycastle 3.9.0 [collection convert js] - sanitize_html 2.1.0 [html meta] - shared_preferences_android 2.2.2 [flutter shared_preferences_platform_interface] - shared_preferences_foundation 2.3.5 [flutter shared_preferences_platform_interface] - shared_preferences_linux 2.3.2 [file flutter path path_provider_linux path_provider_platform_interface shared_preferences_platform_interface] - shared_preferences_platform_interface 2.3.2 [flutter plugin_platform_interface] - shared_preferences_web 2.3.0 [flutter flutter_web_plugins shared_preferences_platform_interface web] - shared_preferences_windows 2.3.2 [file flutter path path_provider_platform_interface path_provider_windows shared_preferences_platform_interface] - sign_in_with_apple_platform_interface 1.1.0 [flutter plugin_platform_interface meta] - sign_in_with_apple_web 2.1.0 [flutter flutter_web_plugins sign_in_with_apple_platform_interface] - simple_animations 5.0.2 [flutter collection] - simple_gesture_detector 0.2.1 [flutter] - sky_engine 0.0.99 - source_span 1.10.0 [collection path term_glyph] - sprintf 7.0.0 - sqflite 2.3.3 [flutter sqflite_common path] - sqflite_common 2.5.4 [synchronized path meta] - stack_trace 1.11.1 [path] - stream_channel 2.1.2 [async] - stream_transform 2.1.0 - string_scanner 1.2.0 [source_span] - stripe_android 10.1.1 [flutter] - stripe_ios 10.1.0 [flutter] - stripe_platform_interface 10.1.1 [flutter freezed_annotation json_annotation meta plugin_platform_interface] - syncfusion_flutter_core 25.1.40 [vector_math flutter] - synchronized 3.1.0+1 - term_glyph 1.2.1 - test_api 0.6.1 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph] - typed_data 1.3.2 [collection] - universal_io 2.2.2 [collection meta typed_data] - universal_platform 1.0.0+1 - url_launcher_android 6.3.1 [flutter url_launcher_platform_interface] - url_launcher_ios 6.2.5 [flutter url_launcher_platform_interface] - url_launcher_linux 3.1.1 [flutter url_launcher_platform_interface] - url_launcher_macos 3.1.0 [flutter url_launcher_platform_interface] - url_launcher_platform_interface 2.3.2 [flutter plugin_platform_interface] - url_launcher_web 2.3.1 [flutter flutter_web_plugins url_launcher_platform_interface web] - url_launcher_windows 3.1.1 [flutter url_launcher_platform_interface] - uuid 4.4.0 [crypto sprintf meta fixnum] - vector_graphics 1.1.11+1 [flutter http vector_graphics_codec] - vector_graphics_codec 1.1.11+1 - vector_graphics_compiler 1.1.11+1 [args meta path_parsing xml vector_graphics_codec path] - vector_math 2.1.4 - video_player_android 2.4.14 [flutter video_player_platform_interface] - video_player_avfoundation 2.5.7 [flutter video_player_platform_interface] - video_player_platform_interface 6.2.2 [flutter plugin_platform_interface] - video_player_web 2.3.0 [flutter flutter_web_plugins video_player_platform_interface web] - vm_service 13.0.0 - web 0.5.1 - win32 5.4.0 [ffi] - win32_registry 1.1.3 [ffi win32] - xdg_directories 1.0.4 [meta path] - xml 6.5.0 [collection meta petitparser] - yaml 3.1.2 [collection source_span string_scanner] ```

Additional context and comments

No response

Flucadetena commented 4 months ago

Ok I found more information about the issue and how to solve it. I'll close it but leave here my findings in case it helps someone. It took us lots of days and hours to solve.

The issue explained above was cause by using the script with the -gsp option, instead of the new ones in the doc. But if you add all the "paths" to the input files in the input files section in Xcode it will run ok.

Adding this paths as stated in the docs will help xcode wait until the script has finished and run correctly. No need to use the "sleep 100" anymore.

Also tested and ended up finding a script that works and it is almost the same as the new ones.

My current script looks like this:

GOOGLESERVICE_INFO_FILE="${PROJECT_DIR}/Runner/GoogleService-Info.plist"
APP_ID="$(grep -A1 GOOGLE_APP_ID ${GOOGLESERVICE_INFO_FILE} | tail -n1 | sed -e 's/.*\<string\>\(.*\)\<\/string\>/\1/')"
"${PODS_ROOT}/FirebaseCrashlytics/upload-symbols" --build-phase --validate -ai "${APP_ID}" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
"${PODS_ROOT}/FirebaseCrashlytics/upload-symbols" --build-phase -ai "${APP_ID}" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"

This will retrieve the AppId from the "GoogleService-Info" as we are using flavors and the "App-Id" changes. If you are using Flavors, you are probably using one of two options.

For the first case you can use my code. For the second you can update the location of the "GoogleService-Info" with a simple "user defined setting" inside the "Build Setting" section in Xcode. Replacing the path with your variable.

Finally the main difference with the code from the docs is that the docs get the "dSYM" file with this name "App.framework.dSYM", I understand that maybe new flutter projects build this file o is a typo in the docs). But in our case the file is called "Runner.app.dSYM". To find it you replace the last name of the code in the docs with the one above.

That will take care of finding the right file wether you build from Flutter or from Xcode.

Hope it helps someone, any questions of things you need me to try, let me know.

Happy to help :)

*FYI: If anyone is wondering, as there are sooo many solutions out there. After all trials we removed the script to "delete" the old "dSYM" and the script to "run" crashlytics "${PODS_ROOT}/FirebaseCrashlytics/run" as many places suggest and everything is working fine just with the top script at the bottom of the scripts sequence.

kzrnm commented 4 months ago

I had a similar error with the flutterfire upload-crashlytics-symbols command.