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.44k stars 3.91k forks source link

[firebase_core]: 'pod update' cannot be done when 'firebase core' is updated to the latest version #12742

Closed ynmain closed 2 weeks ago

ynmain commented 2 weeks ago

Is there an existing issue for this?

Which plugins are affected?

No response

Which platforms are affected?

No response

Description

When I do 'pod update' I get the following error

firebase_storage: Using Firebase SDK version '10.24.0' defined in 'firebase_core'
[!] CocoaPods could not find compatible versions for pod "GTMSessionFetcher/Core":
  In Podfile:
    firebase_storage (from `.symlinks/plugins/firebase_storage/ios`) was resolved to 11.7.4, which depends on
      Firebase/Storage (= 10.24.0) was resolved to 10.24.0, which depends on
        FirebaseStorage (~> 10.24.0) was resolved to 10.24.0, which depends on
          GTMSessionFetcher/Core (< 4.0, >= 2.1)

    google_mlkit_text_recognition (from `.symlinks/plugins/google_mlkit_text_recognition/ios`) was resolved to 0.6.0, which depends on
      GoogleMLKit/TextRecognition (~> 4.0.0) was resolved to 4.0.0, which depends on
        MLKitTextRecognition (~> 2.0.0) was resolved to 2.0.0, which depends on
          MLKitVision (~> 5.0) was resolved to 5.0.0, which depends on
            GTMSessionFetcher/Core (< 3.0, >= 1.1)

    google_sign_in_ios (from `.symlinks/plugins/google_sign_in_ios/darwin`) was resolved to 0.0.1, which depends on
      GTMSessionFetcher (>= 3.4.0) was resolved to 3.4.1, which depends on
        GTMSessionFetcher/Full (= 3.4.1) was resolved to 3.4.1, which depends on
          GTMSessionFetcher/Core (= 3.4.1)

    google_sign_in_ios (from `.symlinks/plugins/google_sign_in_ios/darwin`) was resolved to 0.0.1, which depends on
      GoogleSignIn (~> 7.1) was resolved to 7.1.0, which depends on
        GTMAppAuth (< 5.0, >= 4.1.1) was resolved to 4.1.1, which depends on
          GTMSessionFetcher/Core (< 4.0, >= 3.3)

    google_sign_in_ios (from `.symlinks/plugins/google_sign_in_ios/darwin`) was resolved to 0.0.1, which depends on
      GoogleSignIn (~> 7.1) was resolved to 7.1.0, which depends on
        GTMSessionFetcher/Core (~> 3.3)

CocoaPods could not find compatible versions for pod "MLKitVision":
  In Podfile:
    google_mlkit_commons (from `.symlinks/plugins/google_mlkit_commons/ios`) was resolved to 0.3.0, which depends on
      MLKitVision

    google_mlkit_text_recognition (from `.symlinks/plugins/google_mlkit_text_recognition/ios`) was resolved to 0.6.0, which depends on
      GoogleMLKit/TextRecognition (~> 4.0.0) was resolved to 4.0.0, which depends on
        MLKitTextRecognition (~> 2.0.0) was resolved to 2.0.0, which depends on
          MLKitVision (~> 5.0)

GTMSessionFetcher/Core dependency versions appear to be inconsistent

I would like you to address this issue

Reproducing the issue

Make pubspec like below

  google_sign_in: 6.2.1
  firebase_core: 2.30.1
  firebase_auth: 4.19.4
  firebase_analytics: 10.10.4
  firebase_storage: 11.7.4
  cloud_firestore: 4.17.2
  firebase_remote_config: 4.4.4
  firebase_ui_auth: 1.14.0
  firebase_ui_firestore: 1.6.3
  google_mobile_ads: 5.0.0
  firebase_ui_oauth_apple: 1.2.20
  firebase_ui_oauth_google: 1.3.2
  sign_in_with_apple: 6.1.0

Firebase Core version

2.30.1

Flutter Version

3.19.3

Relevant Log Output

No response

Flutter dependencies

Expand Flutter dependencies snippet
```yaml Replace this line with the contents of your `flutter pub deps -- --style=compact`. ```

Additional context and comments

I tried everything clean etc.

TarekkMA commented 2 weeks ago

Hi @ynmain, Can you try running this command and try again, let me know if that solved your issue?

cd ios
rm -rf Pods && rm Podfile.lock
pod repo update
cd ..
flutter clean
ynmain commented 2 weeks ago

@TarekkMA Unfortunately, I've tried everything including clean. Of course I also tried this procedure. No solution has been reached.

 βœ— pod repo update
Updating spec repo `cocoapods`
  $ /usr/bin/git -C xxxx/.cocoapods/repos/cocoapods fetch origin --progress
  remote: Enumerating objects: 371143, done.        
  remote: Counting objects: 100% (84181/84181), done.        
  remote: Compressing objects: 100% (3802/3802), done.        
  remote: Total 371143 (delta 80349), reused 83948 (delta 80246), pack-reused 286962        
  Receiving objects: 100% (371143/371143), 48.35 MiB | 7.11 MiB/s, done.
  Resolving deltas: 100% (258160/258160), completed with 9983 local objects.
  From https://github.com/CocoaPods/Specs
     c32ba892eb3f..ce8dba752a35  master     -> origin/master
  $ /usr/bin/git -xxxxxx/repos/cocoapods rev-parse --abbrev-ref HEAD
  master
  $ /usr/bin/git -C xxxxxx/.cocoapods/repos/cocoapods reset --hard origin/master
  Updating files: 100% (38235/38235), done.
  HEAD is now at ce8dba752a35 [Add] DriveKitTripSimulator 2.0.2
Updating spec repo `trunk`
➜  ios git:(fixPush) βœ— flutter clean
Changing current working directory to: /xxxx/Documents/tukuttemita/GitHub/limitter_flutter
Cleaning Xcode workspace...                                         3.4s
Deleting build...                                                  489ms
Deleting .dart_tool...                                              77ms
Deleting Generated.xcconfig...                                       0ms
Deleting flutter_export_environment.sh...                            0ms
Deleting Flutter.podspec...                                          0ms
Deleting .flutter-plugins-dependencies...                            0ms
Deleting .flutter-plugins...                                         0ms

➜  ios git:(fixPush) βœ— pod install
Analyzing dependencies
Pre-downloading: `FirebaseFirestore` from `https://github.com/invertase/firestore-ios-sdk-frameworks.git`, tag `10.24.0`
cloud_firestore: Using Firebase SDK version '10.24.0' defined in 'firebase_core'
firebase_analytics: Using Firebase SDK version '10.24.0' defined in 'firebase_core'
firebase_auth: Using Firebase SDK version '10.24.0' defined in 'firebase_core'
firebase_core: Using Firebase SDK version '10.24.0' defined in 'firebase_core'
firebase_dynamic_links: Using Firebase SDK version '10.24.0' defined in 'firebase_core'
firebase_remote_config: Using Firebase SDK version '10.24.0' defined in 'firebase_core'
firebase_storage: Using Firebase SDK version '10.24.0' defined in 'firebase_core'
[!] CocoaPods could not find compatible versions for pod "GTMSessionFetcher/Core":
  In Podfile:
    firebase_storage (from `.symlinks/plugins/firebase_storage/ios`) was resolved to 11.7.4, which depends on
      Firebase/Storage (= 10.24.0) was resolved to 10.24.0, which depends on
        FirebaseStorage (~> 10.24.0) was resolved to 10.24.0, which depends on
          GTMSessionFetcher/Core (< 4.0, >= 2.1)

    google_mlkit_text_recognition (from `.symlinks/plugins/google_mlkit_text_recognition/ios`) was resolved to 0.6.0, which depends on
      GoogleMLKit/TextRecognition (~> 4.0.0) was resolved to 4.0.0, which depends on
        MLKitTextRecognition (~> 2.0.0) was resolved to 2.0.0, which depends on
          MLKitVision (~> 5.0) was resolved to 5.0.0, which depends on
            GTMSessionFetcher/Core (< 3.0, >= 1.1)

    google_sign_in_ios (from `.symlinks/plugins/google_sign_in_ios/darwin`) was resolved to 0.0.1, which depends on
      GTMSessionFetcher (>= 3.4.0) was resolved to 3.4.1, which depends on
        GTMSessionFetcher/Full (= 3.4.1) was resolved to 3.4.1, which depends on
          GTMSessionFetcher/Core (= 3.4.1)

    google_sign_in_ios (from `.symlinks/plugins/google_sign_in_ios/darwin`) was resolved to 0.0.1, which depends on
      GoogleSignIn (~> 7.1) was resolved to 7.1.0, which depends on
        GTMAppAuth (< 5.0, >= 4.1.1) was resolved to 4.1.1, which depends on
          GTMSessionFetcher/Core (< 4.0, >= 3.3)

    google_sign_in_ios (from `.symlinks/plugins/google_sign_in_ios/darwin`) was resolved to 0.0.1, which depends on
      GoogleSignIn (~> 7.1) was resolved to 7.1.0, which depends on
        GTMSessionFetcher/Core (~> 3.3)

CocoaPods could not find compatible versions for pod "MLKitVision":
  In Podfile:
    google_mlkit_commons (from `.symlinks/plugins/google_mlkit_commons/ios`) was resolved to 0.3.0, which depends on
      MLKitVision

    google_mlkit_text_recognition (from `.symlinks/plugins/google_mlkit_text_recognition/ios`) was resolved to 0.6.0, which depends on
      GoogleMLKit/TextRecognition (~> 4.0.0) was resolved to 4.0.0, which depends on
        MLKitTextRecognition (~> 2.0.0) was resolved to 2.0.0, which depends on
          MLKitVision (~> 5.0)
russellwheatley commented 2 weeks ago

@ynmain - your problem is here:

    google_mlkit_text_recognition (from `.symlinks/plugins/google_mlkit_text_recognition/ios`) was resolved to 0.6.0, which depends on
      GoogleMLKit/TextRecognition (~> 4.0.0) was resolved to 4.0.0, which depends on
        MLKitTextRecognition (~> 2.0.0) was resolved to 2.0.0, which depends on
          MLKitVision (~> 5.0) was resolved to 5.0.0, which depends on
            GTMSessionFetcher/Core (< 3.0, >= 1.1)

    google_sign_in_ios (from `.symlinks/plugins/google_sign_in_ios/darwin`) was resolved to 0.0.1, which depends on
      GTMSessionFetcher (>= 3.4.0) was resolved to 3.4.1, which depends on
        GTMSessionFetcher/Full (= 3.4.1) was resolved to 3.4.1, which depends on
          GTMSessionFetcher/Core (= 3.4.1)

google_sign_in_ios depends on 3.4.1 whilst the transitive dependency on MLKitVision via GoogleMLKit/TextRecognition does not allow a version of GTMSessionFetcher/Core greater then or equal to 3.0. I'd open an issue on google_sign_in_ios repo and ask them to loosen the version constraint.

ynmain commented 2 weeks ago

Thanks. Hmm. I was very troubled. You cannot submit issues to this repository πŸ™ https://github.com/flutter/packages/tree/main/packages/google_sign_in/google_sign_in_ios

stuartmorgan commented 2 weeks ago

google_sign_in_ios depends on 3.4.1 whilst the transitive dependency on MLKitVision via GoogleMLKit/TextRecognition does not allow a version of GTMSessionFetcher/Core greater then or equal to 3.0. I'd open an issue on google_sign_in_ios repo and ask them to loosen the version constraint.

We will not be relaxing the version constraints to allow versions of GTMSessionFetcher that do not have privacy manifests. Requiring versions of dependencies that are fully compliant with App Store policies was a deliberate choice, as resolver errors are much clearer than the rejection errors from the App Store validator when a transitive dependency is missing a required manifest.