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.63k stars 3.95k forks source link

🐛 [cloud_functions] [cloud_firestore] (Xcode): No such module GTMSessionFetcherCore Unable to build #9448

Closed Flucadetena closed 11 months ago

Flucadetena commented 2 years ago

Bug report

Describe the bug I've updated to the latest version of all flutterfire packages and I can't build anymore. I've tried downgrading but 9.2.0 and 9.3.0 of firestore had issues.

Steps to reproduce

Steps to reproduce the behavior:

  1. Update to cloud firestore 9.4.0 in podfile
  2. Upgrade all dependecies in pub

Expected behavior

To build.

Additional context

I'm running on a Macbook Pro M1 max brand new on the simulator.

Complete error:

Uncategorized (Xcode): Command CompileSwiftSources failed with a nonzero exit code

Swift Compiler Error (Xcode): No such module 'GTMSessionFetcherCore'
/Users/fer/Desktop/movn/Code/app/ios/Pods/FirebaseFunctions/FirebaseFunctions/Sources/Functions.swift:23:9

Could not build the application for the simulator.
Error launching application on iPhone 12 Pro.

Flutter doctor

Run flutter doctor and paste the output below:

Click To Expand ``` Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel stable, 3.0.5, on macOS 12.5.1 21G83 darwin-arm, locale es-ES) [✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0) [✓] Xcode - develop for iOS and macOS (Xcode 13.4.1) [✓] Chrome - develop for the web [✓] Android Studio (version 2021.2) [✓] VS Code (version 1.70.2) [✓] Connected device (3 available) [✓] HTTP Host Availability • No issues found! ```

Flutter dependencies

Run flutter pub deps -- --style=compact and paste the output below:

Click To Expand ``` Dart SDK 2.17.6 Flutter SDK 3.0.5 dependencies: - 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 0.20.1 [uuid path_provider http flutter flutter_web_plugins] - auto_size_text 3.0.0 [flutter] - calendar_timeline 1.0.4 [flutter intl scrollable_positioned_list] - carousel_slider 4.1.1 [flutter] - cloud_firestore 3.2.1 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta] - cloud_functions 3.3.6 [cloud_functions_platform_interface cloud_functions_web firebase_core firebase_core_platform_interface flutter] - collection 1.16.0 - country_code_picker 2.0.2 [flutter modal_bottom_sheet collection universal_platform] - cupertino_icons 1.0.5 - custom_refresh_indicator 1.2.1 [flutter] - device_info_plus 3.2.4 [flutter device_info_plus_platform_interface device_info_plus_macos device_info_plus_linux device_info_plus_web device_info_plus_windows] - expandable 5.0.1 [flutter] - firebase_analytics 9.3.3 [firebase_analytics_platform_interface firebase_analytics_web firebase_core firebase_core_platform_interface flutter] - firebase_app_check 0.0.7 [firebase_app_check_platform_interface firebase_app_check_web firebase_core firebase_core_platform_interface flutter] - firebase_crashlytics 2.8.9 [firebase_core firebase_core_platform_interface firebase_crashlytics_platform_interface flutter stack_trace] - firebase_messaging 11.4.4 [firebase_core firebase_core_platform_interface firebase_messaging_platform_interface firebase_messaging_web flutter meta] - firebase_performance 0.8.2+4 [firebase_core firebase_core_platform_interface firebase_performance_platform_interface firebase_performance_web flutter] - firebase_storage 10.3.7 [firebase_core firebase_core_platform_interface firebase_storage_platform_interface firebase_storage_web flutter] - fl_chart 0.51.0 [flutter equatable] - flag 6.0.0 [flutter flutter_svg enum_to_string] - flip 2.0.0 [flutter] - floating_bubbles 2.1.3 [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.0 [clock collection file flutter http path path_provider pedantic rxdart sqflite uuid] - flutter_countdown_timer 4.1.0 [flutter] - flutter_cube 0.1.6 [flutter vector_math http path] - flutter_html 3.0.0-alpha.5 [html csslib collection numerus flutter] - flutter_inappwebview 5.4.3+7 [flutter] - flutter_localizations 0.0.0 [flutter intl characters clock collection material_color_utilities meta path vector_math] - flutter_speed_dial 6.0.0 [flutter] - flutter_staggered_grid_view 0.6.2 [flutter] - flutter_stripe 3.3.0 [flutter stripe_android stripe_ios stripe_platform_interface] - flutter_vibrate 1.3.0 [flutter] - geoflutterfire 3.0.3 [flutter cloud_firestore rxdart flutter_lints] - get 4.6.5 [flutter] - google_fonts 3.0.1 [flutter http path_provider crypto] - google_maps_flutter 2.1.12 [flutter google_maps_flutter_android google_maps_flutter_ios google_maps_flutter_platform_interface] - google_sign_in 5.4.1 [flutter google_sign_in_android google_sign_in_ios google_sign_in_platform_interface google_sign_in_web] - health 3.4.4 [flutter intl device_info_plus] - http 0.13.5 [async http_parser meta path] - image_cropper 2.0.3 [flutter image_cropper_platform_interface image_cropper_for_web] - image_picker 0.8.5+3 [flutter image_picker_android image_picker_for_web image_picker_ios image_picker_platform_interface] - intl 0.17.0 [clock path] - location 4.4.0 [flutter location_platform_interface location_web] - lottie 1.4.2 [archive flutter path vector_math] - native_pdf_view 6.0.0+1 [flutter pdfx] - package_info_plus 1.4.2 [flutter package_info_plus_platform_interface package_info_plus_linux package_info_plus_macos package_info_plus_windows package_info_plus_web] - path_provider 2.0.11 [flutter path_provider_android path_provider_ios path_provider_linux path_provider_macos path_provider_platform_interface path_provider_windows] - pay 1.0.10 [flutter flutter_localizations pay_android pay_ios pay_platform_interface meta] - percent_indicator 4.2.2 [flutter] - permission_handler 10.0.0 [flutter meta permission_handler_android permission_handler_apple permission_handler_windows permission_handler_platform_interface] - qr_code_scanner 1.0.1 [js flutter flutter_web_plugins] - reorderables 0.5.0 [flutter] - rxdart 0.27.5 - scrollable_positioned_list 0.2.3 [flutter collection] - shared_preferences 2.0.15 [flutter shared_preferences_android shared_preferences_ios shared_preferences_linux shared_preferences_macos shared_preferences_platform_interface shared_preferences_web shared_preferences_windows] - sign_in_with_apple 4.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] - timeago 3.3.0 [intl] - url_launcher 6.1.5 [flutter url_launcher_android url_launcher_ios url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows] dev dependencies: - flutter_lints 1.0.4 [lints] - flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters charcode collection matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph] transitive dependencies: - archive 3.3.1 [crypto path] - async 2.8.2 [collection meta] - boolean_selector 2.1.0 [source_span string_scanner] - characters 1.2.0 - charcode 1.3.1 - clock 1.1.0 - cloud_firestore_platform_interface 5.7.3 [collection firebase_core flutter meta plugin_platform_interface] - cloud_firestore_web 2.8.6 [cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js] - cloud_functions_platform_interface 5.1.15 [firebase_core flutter meta plugin_platform_interface] - cloud_functions_web 4.3.4 [cloud_functions_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins js] - cross_file 0.3.3+1 [js meta] - crypto 3.0.2 [typed_data] - csslib 0.17.2 [source_span] - device_info_plus_linux 2.1.1 [device_info_plus_platform_interface file flutter meta] - device_info_plus_macos 2.2.3 [device_info_plus_platform_interface flutter] - device_info_plus_platform_interface 2.6.1 [flutter meta plugin_platform_interface] - device_info_plus_web 2.1.0 [device_info_plus_platform_interface flutter_web_plugins flutter] - device_info_plus_windows 2.1.1 [device_info_plus_platform_interface ffi flutter win32] - enum_to_string 2.0.1 - equatable 2.0.5 [collection meta] - extension 0.2.0 - fake_async 1.3.0 [clock collection] - ffi 1.2.1 - file 6.1.4 [meta path] - firebase 9.0.3 [http http_parser js] - firebase_analytics_platform_interface 3.3.3 [firebase_core flutter meta plugin_platform_interface] - firebase_analytics_web 0.4.2+3 [firebase_analytics_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins js] - firebase_app_check_platform_interface 0.0.4+15 [firebase_core flutter meta plugin_platform_interface] - firebase_app_check_web 0.0.6+4 [firebase_app_check_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins js] - firebase_auth 3.7.0 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta] - firebase_auth_platform_interface 6.6.0 [collection firebase_core flutter meta plugin_platform_interface] - firebase_auth_web 4.3.0 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta] - firebase_core 1.21.1 [firebase_core_platform_interface firebase_core_web flutter meta] - firebase_core_platform_interface 4.5.1 [collection flutter flutter_test meta plugin_platform_interface] - firebase_core_web 1.7.2 [firebase_core_platform_interface flutter flutter_web_plugins js meta] - firebase_crashlytics_platform_interface 3.2.15 [collection firebase_core flutter meta plugin_platform_interface] - firebase_dynamic_links 4.3.6 [firebase_core firebase_core_platform_interface firebase_dynamic_links_platform_interface flutter meta plugin_platform_interface] - firebase_dynamic_links_platform_interface 0.2.3+11 [firebase_core flutter meta plugin_platform_interface] - firebase_messaging_platform_interface 3.5.4 [firebase_core flutter meta plugin_platform_interface] - firebase_messaging_web 2.4.4 [firebase_core firebase_core_web firebase_messaging_platform_interface flutter flutter_web_plugins js meta] - firebase_performance_platform_interface 0.1.1+15 [firebase_core flutter plugin_platform_interface] - firebase_performance_web 0.1.1+4 [firebase firebase_core firebase_core_web firebase_performance_platform_interface flutter flutter_web_plugins js] - firebase_storage_platform_interface 4.1.15 [collection firebase_core flutter meta plugin_platform_interface] - firebase_storage_web 3.3.5 [async firebase_core firebase_core_web firebase_storage_platform_interface flutter flutter_web_plugins http js meta] - flutter_plugin_android_lifecycle 2.0.7 [flutter] - flutter_statusbarcolor_ns 0.4.0 [flutter] - flutter_svg 1.1.4 [flutter meta path_drawing vector_math xml] - flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math] - freezed_annotation 2.1.0 [collection json_annotation meta] - google_maps_flutter_android 2.2.0 [flutter flutter_plugin_android_lifecycle google_maps_flutter_platform_interface stream_transform] - google_maps_flutter_ios 2.1.11 [flutter google_maps_flutter_platform_interface stream_transform] - google_maps_flutter_platform_interface 2.2.2 [collection flutter plugin_platform_interface stream_transform] - google_sign_in_android 6.1.0 [flutter google_sign_in_platform_interface] - google_sign_in_ios 5.5.0 [flutter google_sign_in_platform_interface] - google_sign_in_platform_interface 2.3.0 [flutter plugin_platform_interface quiver] - google_sign_in_web 0.10.2 [flutter flutter_web_plugins google_sign_in_platform_interface js] - html 0.15.0 [csslib source_span] - http_parser 4.0.1 [collection source_span string_scanner typed_data] - image_cropper_for_web 0.0.4 [flutter flutter_web_plugins image_cropper_platform_interface js] - image_cropper_platform_interface 2.0.0 [flutter plugin_platform_interface http] - image_picker_android 0.8.5+2 [flutter flutter_plugin_android_lifecycle image_picker_platform_interface] - image_picker_for_web 2.1.8 [flutter flutter_web_plugins image_picker_platform_interface] - image_picker_ios 0.8.5+6 [flutter image_picker_platform_interface] - image_picker_platform_interface 2.6.1 [cross_file flutter http plugin_platform_interface] - js 0.6.4 - json_annotation 4.6.0 [meta] - lints 1.0.1 - location_platform_interface 2.3.0 [flutter meta plugin_platform_interface] - location_web 3.1.1 [flutter flutter_web_plugins http_parser js location_platform_interface meta] - matcher 0.12.11 [stack_trace] - material_color_utilities 0.1.4 - meta 1.7.0 - mime 1.0.2 - modal_bottom_sheet 2.1.0 [flutter] - numerus 1.1.1 - package_info_plus_linux 1.0.5 [package_info_plus_platform_interface flutter path] - package_info_plus_macos 1.3.0 [flutter] - package_info_plus_platform_interface 1.0.2 [flutter meta plugin_platform_interface] - package_info_plus_web 1.0.5 [flutter flutter_web_plugins http meta package_info_plus_platform_interface] - package_info_plus_windows 1.0.5 [package_info_plus_platform_interface ffi flutter win32] - path 1.8.1 - path_drawing 1.0.1 [vector_math meta path_parsing flutter] - path_parsing 1.0.1 [vector_math meta] - path_provider_android 2.0.20 [flutter path_provider_platform_interface] - path_provider_ios 2.0.11 [flutter path_provider_platform_interface] - path_provider_linux 2.1.7 [ffi flutter path path_provider_platform_interface xdg_directories] - path_provider_macos 2.0.6 [flutter path_provider_platform_interface] - path_provider_platform_interface 2.0.4 [flutter platform plugin_platform_interface] - path_provider_windows 2.0.7 [ffi flutter path path_provider_platform_interface win32] - pay_android 1.0.7 [flutter flutter_localizations pay_platform_interface flutter_svg] - pay_ios 1.0.7 [flutter pay_platform_interface] - pay_platform_interface 1.0.2 [flutter yaml] - pdfx 1.0.1+1 [flutter flutter_web_plugins plugin_platform_interface js device_info_plus uuid meta extension synchronized universal_platform photo_view vector_math] - pedantic 1.11.1 - permission_handler_android 10.0.0 [flutter permission_handler_platform_interface] - permission_handler_apple 9.0.4 [flutter permission_handler_platform_interface] - permission_handler_platform_interface 3.7.0 [flutter meta plugin_platform_interface] - permission_handler_windows 0.1.0 [flutter permission_handler_platform_interface] - petitparser 5.0.0 [meta] - photo_view 0.13.0 [flutter] - platform 3.1.0 - plugin_platform_interface 2.1.2 [meta] - process 4.2.4 [file path platform] - quiver 3.1.0 [matcher] - share 2.0.4 [meta mime flutter] - shared_preferences_android 2.0.12 [flutter shared_preferences_platform_interface] - shared_preferences_ios 2.1.1 [flutter shared_preferences_platform_interface] - shared_preferences_linux 2.1.1 [file flutter path path_provider_linux path_provider_platform_interface shared_preferences_platform_interface] - shared_preferences_macos 2.0.4 [flutter shared_preferences_platform_interface] - shared_preferences_platform_interface 2.1.0 [flutter plugin_platform_interface] - shared_preferences_web 2.0.4 [flutter flutter_web_plugins shared_preferences_platform_interface] - shared_preferences_windows 2.1.1 [file flutter path path_provider_platform_interface path_provider_windows shared_preferences_platform_interface] - sign_in_with_apple_platform_interface 1.0.0 [flutter plugin_platform_interface meta] - sign_in_with_apple_web 1.0.1 [flutter flutter_web_plugins sign_in_with_apple_platform_interface js] - simple_animations 4.2.0 [flutter collection] - sky_engine 0.0.99 - source_span 1.8.2 [collection path term_glyph] - sqflite 2.0.3+1 [flutter sqflite_common path] - sqflite_common 2.2.1+1 [synchronized path meta] - stack_trace 1.10.0 [path] - stream_channel 2.1.0 [async] - stream_transform 2.0.0 - string_scanner 1.1.0 [charcode source_span] - stripe_android 3.3.0 [flutter] - stripe_ios 3.3.0 [flutter] - stripe_platform_interface 3.3.0 [flutter freezed_annotation json_annotation meta plugin_platform_interface] - synchronized 3.0.0+2 - term_glyph 1.2.0 - test_api 0.4.9 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher] - transparent_image 2.0.0 - typed_data 1.3.1 [collection] - universal_platform 1.0.0+1 - url_launcher_android 6.0.17 [flutter url_launcher_platform_interface] - url_launcher_ios 6.0.17 [flutter url_launcher_platform_interface] - url_launcher_linux 3.0.1 [flutter url_launcher_platform_interface] - url_launcher_macos 3.0.1 [flutter url_launcher_platform_interface] - url_launcher_platform_interface 2.1.0 [flutter plugin_platform_interface] - url_launcher_web 2.0.13 [flutter flutter_web_plugins url_launcher_platform_interface] - url_launcher_windows 3.0.1 [flutter url_launcher_platform_interface] - uuid 3.0.6 [crypto] - vector_math 2.1.2 - win32 2.6.1 [ffi] - xdg_directories 0.2.0+2 [meta path process] - xml 6.1.0 [collection meta petitparser] - yaml 3.1.1 [collection source_span string_scanner] ```

darshankawar commented 2 years ago

Thanks for the report @Flucadetena

  1. Update to cloud firestore 9.4.0 in podfile

Do you mean updating pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag to 9.4.0 in ios/podfile ?

If so, after updating to 9.4.0, can you try by deleting podfile.lock and see if it helps ?

Also,

/Users/fer/Desktop/movn/Code/app/ios/Pods/FirebaseFunctions/FirebaseFunctions/Sources/Functions.swift:23:9

Do you see import GTMSessionFetcher entry in above file ?

Flucadetena commented 2 years ago

darshankawar

Hi and thank you for the fast replay, I'm stuck and really need to move forward.

In relation to your questions:

Yes I meant exactly that in regard to the ios/podfile.

And I've erase the podfile.lock 1K times, flutter clean, tried building in xcode, tried over roseta, updating pods, reinstalling gem,.... and nothing.

In relation to the import, yes it is where xcode points out the error is (I attach and screenshot of the section of the file you asked about)

Captura de Pantalla 2022-08-31 a las 12 55 46

The import is at the bottom as you can see.

If I can help with anything please let me know

darshankawar commented 2 years ago

Thanks for the update. Looking at the erroring import GTMSessionFetcherCore, I see that in the native sdk, it is being used by three packages auth, functions and storage and each has different package dependencies as below:

https://github.com/firebase/firebase-ios-sdk/blob/398a87169d7b25a6626f2eebe7da4409b4b60609/Package.swift#L760

firebase_auth  -> core
cloud_functions -> app_check, auth, core, messaging
firebase_storage -> core

So, after you upgraded all dependencies in pub and also looking at various community plugins you are using, it could happen that some of them could be using the same plugin dependencies as above, and may not have upgraded properly or could be having some conflict after upgrading.

I tried upgrading firebase plugins in official plugin examples like cloud_functions and cloud_firestore, but didn't notice this error, so I am wondering if this error has to do with community plugin's conflict with firebase plugins that you upgraded.

You may want to check which such plugin uses flutterfire plugin and is dependent on each other.

Flucadetena commented 2 years ago

I'll have a deeper look and update on that, thanks!

Flucadetena commented 2 years ago

I've tested all the dependencies and nothing happen. I added all dependencies in a new project a got it running, but not in the project I have.

The only difference between the two project is that one uses the new way of initializing firebase, using firebase configure and the project that fails uses the old manual initialization. But I never had a problem with that.

Any ideas? To be possible other than changing the initialization (unless is need obviously)

Thanks in advance.

darshankawar commented 2 years ago

The only difference between the two project is that one uses the new way of initializing firebase, using firebase configure and the project that fails uses the old manual initialization. But I never had a problem with that.

Interesting, the new way of initializing, writes the native config files to the root of your app instead of having two separate for different platforms. I tried the same by using GoogleService-Info.plist but still didn't get the error.

I am keeping this issue open for further insights from the team.

/cc @russellwheatley

Flucadetena commented 2 years ago

Ok great, thanks @darshankawar. I'm currently using the new project without any problem, but I've keep the old one. So if any testing is needed let me know.

Thanks again for your time and quick response.

gajendrapandeya commented 1 year ago

I am still facing the same issue as described above. Is there any fix for this issue?

Shahidbangash commented 1 year ago

I am still facing the same issue as described above. Is there any fix for this issue?

same issue here

incrediblezayed commented 1 year ago

Hey @Flucadetena were you able to fix it

Flucadetena commented 1 year ago

Hi @incrediblezayed I never used the old project again so didn't face the issue any more. So I'm not sure about a solution rather than starting a new project with the new config.

incrediblezayed commented 1 year ago

Oh Great, is it possible to share the pubspec.lock and podspec.lock as well as your PodFile? @Flucadetena

Flucadetena commented 1 year ago

@incrediblezayed I'm not really sure which was even the project I was working on at the time. But what i can tell you is that all my projects are currently in the latest version and working just fine. If you are running the latest version and still getting the problem. It may be due to the initialization, instead of following the guide on Flutterfire, be sure to follow the instructions in the oficial documentation from Google.

https://firebase.google.com/docs/flutter/setup?platform=web

Hope it helps :)

Abhi011999 commented 1 year ago

If someone is still having an issue on this, following helped and worked for me -

  1. Xcode -> Product -> Clean Build Folder
  2. flutter clean
  3. Delete .symlinks and Pods folder in ios
  4. Make sure these are NOT in your Podfile -

    config.build_settings['ONLY_ACTIVE_ARCH'] = 'YES' config.build_settings['SWIFT_VERSION'] = '5.0' config.build_settings['OTHER_SWIFT_FLAGS'] = '-no-verify-emitted-module-interface'

  5. Update cloud_firestore and other concerning firebase deps in pubspec.yaml to latest version
  6. pod update and pod install
  7. flutter build ipa

Related issue - https://github.com/firebase/firebase-ios-sdk/issues/11561

Shahidbangash commented 1 year ago

I fixed this issue by deleting the old Ios folder and recreating the ios folder by typing

flutter create --platforms=ios .

Steps to fix this problem

  1. Delete the old iOS Folder or keep a Backup.
  2. Type flutter create --platforms=ios . in your terminal
  3. type cd ios
  4. type pod install for Apple Intel chip user
  5. type arch -x86_64 pod install if you are using Apple Chip Machine .

I hope this will solve your build issue

russellwheatley commented 11 months ago

Closing as this is an iOS project misconfiguration, there are enough hints related to cleaning caches and project settings contained within this issue to point you in the right direction.