[google_sign_in_ios] Support GoogleSignIn-iOS 10.x for Firebase iOS SDK 13 compatibility

Abierto
#18,894 1 comentario 3 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
dart, swift

Línea de trabajo

The conflict is between the google_sign_in_ios plugin's GoogleSignIn-iOS constraint (9.0.0..<10.0.0, which pins gtm-session-fetcher below 4.0.0) and Firebase iOS SDK 13.1.1, which needs gtm-session-fetcher 4.0.0..<6.0.0. Start by finding where the plugin declares its native GoogleSignIn-iOS dependency and checking whether 10.x can be adopted without breaking the plugin's Swift code. Done means a Swift Package Manager build with firebase_storage 14.0.1 and google_sign_in 7.2.0 resolves without errors.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Needs Attention type: bug
Is there an existing issue for this?
  • I have searched the existing issues.
Which plugins are affected?

Auth

Which platforms are affected?

iOS

Description
Description

The iOS release build fails during Swift Package Manager dependency resolution when using the latest FlutterFire Firebase Storage and Google Sign-In plugins.

Environment
  • Flutter: 3.47.7
  • firebase_storage: 14.0.1
  • google_sign_in: 7.2.0
  • google_sign_in_ios: 6.3.8
  • Firebase iOS SDK: 13.1.1
  • Xcode: 27 (CI environment)
Problem

firebase_storage 14.0.1 depends on Firebase iOS SDK 13.1.1, which requires:

gtm-session-fetcher >= 4.0.0 < 6.0.0

However, google_sign_in_ios 6.3.8 resolves GoogleSignIn-iOS 9.x, which requires:

gtm-session-fetcher >= 3.3.0 < 4.0.0

These constraints are incompatible and prevent Xcode from resolving the SPM dependencies.

GoogleSignIn-iOS 10.0.0 has widened its GTMSessionFetcher dependency range to support 4.x and 5.x.

Expected behavior

The Flutter Google Sign-In iOS plugin should support a native GoogleSignIn-iOS version compatible with Firebase iOS SDK 13.x.

Actual behavior

flutter build ipa --release fails during SPM dependency resolution with:

Could not resolve package dependencies

Request

Please update the native Google Sign-In dependency constraints in google_sign_in_ios to support GoogleSignIn-iOS 10.x, or coordinate a compatible dependency release.

This currently blocks iOS release builds for Flutter applications using Firebase 13 and Google Sign-In.

References
Reproducing the issue

flutter build ipa --release --export-options-plist=ios/ExportOptions.plist

Firebase Core version

5.1.0

Flutter Version

3.47.7

Relevant Log Output
Resolving dependencies...
Downloading packages...
  build 4.0.11 (5.0.0 available)
  build_config 1.3.3 (1.4.0 available)
  build_runner 2.16.2 (2.17.1 available)
  built_collection 5.1.2 (6.0.0 available)
  cross_file 0.3.5+5 (0.4.0 available)
  equatable 2.1.0 (3.0.0 available)
  material_color_utilities 0.13.0 (0.13.1 available)
  test_api 0.7.12 (0.7.15 available)
Got dependencies!
8 packages have newer versions incompatible with dependency constraints.
Try `flutter pub outdated` for more information.
Archiving com.wanga.tech...
Upgrading AppFrameworkInfo.plist
Adding Swift Package Manager integration...                     
Xcode is fetching Swift Package Manager dependencies. This may take several minutes...
Adding Swift Package Manager integration...                        43.5s
An error occurred when adding Swift Package Manager integration:
  Error: Xcode failed to resolve Swift Package Manager dependencies:
2026-11-02 22:58:36.467 xcodebuild[2346:18609] Writing error result bundle to /var/folders/n6/hn37q6pj7sj_9dmqqc2113800000gn/T/ResultBundle_2026-02-11_22-58-0036.xcresult
xcodebuild: error: Could not resolve package dependencies:
  Failed to resolve dependencies Dependencies could not be resolved because 'firebase_storage-14.0.1' depends on 'firebase-ios-sdk' 13.1.1 and 'google_sign_in_ios-6.3.8' depends on 'googlesignin-ios' 9.0.0..<10.0.0.
'firebase-ios-sdk' is incompatible with 'googlesignin-ios' because 'googlesignin-ios' 9.2.0 depends on 'gtm-session-fetcher' 3.3.0..<4.0.0 and 'firebase-ios-sdk' 13.1.1 depends on 'gtm-session-fetcher' 4.0.0..<6.0.0.
'googlesignin-ios' {9.0.0..<9.2.0, 9.2.1..<10.0.0} practically depends on 'gtm-session-fetcher' 3.3.0..<4.0.0 because 'googlesignin-ios' 9.1.0 depends on 'gtm-session-fetcher' 3.3.0..<4.0.0.
'googlesignin-ios' {9.0.0..<9.1.0, 9.1.1..<9.2.0, 9.2.1..<10.0.0} practically depends on 'gtm-session-fetcher' 3.3.0..<4.0.0 because no versions of 'googlesignin-ios' match the requirement {9.0.1..<9.1.0, 9.1.1..<9.2.0, 9.2.1..<10.0.0} and 'googlesignin-ios' 9.0.0 depends on 'gtm-session-fetcher' 3.3.0..<4.0.0.



To help the Flutter team improve this process, please file a bug at
  https://github.com/flutter/flutter/issues/new?template=01_activation.yml 
Consider including a copy of the following files in your bug report:
  ios/Runner.xcodeproj/project.pbxproj
  ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme (or the scheme for the flavor used)

To add Swift Package Manager integration manually, please use the following instructions:
https://docs.flutter.dev/to/add-swift-package-manager-manually

You can also disable Swift Package Manager for the project by following these instructions:
  https://docs.flutter.dev/packages-and-plugins/swift-package-manager/for-app-developers#how-to-turn-off-swift-package-manager
Disabling Swift Package Manager will not be allowed in a future version of Flutter.

Error: Process completed with exit code 1.
Flutter dependencies
Expand Flutter dependencies snippet


dependencies:
  flutter:
    sdk: flutter
  flutter_localizations:
    sdk: flutter
  flutter_web_plugins:
    sdk: flutter

  # State Management
  flutter_riverpod: ^3.4.3

  # Backend (Firebase)
  firebase_core: ^5.1.0
  firebase_auth: ^7.0.1
  firebase_storage: ^14.0.1
  cloud_firestore: ^7.1.0
  cloud_functions: ^7.0.1
  firebase_messaging: ^17.0.1
  firebase_app_check: ^0.5.1
  firebase_remote_config: ^7.0.1
  firebase_crashlytics: ^6.0.1
  firebase_analytics: ^13.0.1 # Also feeds Crashlytics breadcrumbs and velocity alerts
  google_sign_in: ^7.2.0 # Native account picker on iOS/Android; web uses signInWithPopup
  sign_in_with_apple: ^8.2.0
  crypto: ^3.0.6 # SHA-256 nonce hashing for native Apple Sign-In

  # Routing
  go_router: ^18.1.1

  # UI/UX
  cached_network_image: ^4.0.5
  flutter_cache_manager: ^3.4.1
  fl_chart: ^1.3.0
  cupertino_icons: ^2.0.0 # Font for CupertinoSliverRefreshControl / CupertinoPageTransitionsBuilder

  # Utils
  image: ^4.5.4
  intl: ^0.20.2
  shared_preferences: ^2.5.3
  logger: ^2.8.0
  sensors_plus: ^7.1.1 # Shake-to-report on iOS/Android
  share_plus: ^13.3.1
  image_picker: ^1.2.0
  url_launcher: ^6.3.1
  web: ^1.1.1 # dart:html replacement for the web image file picker
  audioplayers: ^6.8.1
  app_badge_plus: ^1.3.5

dev_dependencies:
  flutter_test:
    sdk: flutter

  # Linting
  flutter_lints: ^6.0.0

  # Code generation
  build_runner: ^2.16.1

  # Testing
  mockito: ^5.6.4
  integration_test:
    sdk: flutter
  import_sorter: ^4.6.0
  fake_cloud_firestore: ^4.5.0
  firebase_auth_mocks: ^0.16.0
  mock_exceptions: ^0.8.2
  alchemist: ^0.14.0

flutter:
  generate: true
  uses-material-design: true

  assets:
    - assets/images/
    - assets/sounds/

  fonts:
    # Google Sans 17pt (OFL), subset to Latin + Cyrillic + symbols.
    - family: GoogleSans
      fonts:
        - asset: assets/fonts/GoogleSans_17pt-Regular.ttf
          weight: 400
        - asset: assets/fonts/GoogleSans_17pt-Medium.ttf
          weight: 500
        - asset: assets/fonts/GoogleSans_17pt-SemiBold.ttf
          weight: 600
        - asset: assets/fonts/GoogleSans_17pt-Bold.ttf
          weight: 700

Additional context and comments

No response

Lenguaje dominante
Dart
Estrellas
9.3k
Forks
4.1k
Merge medio
1 d 16 h
PR fusionados (30 d)
73

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de firebase/flutterfire

Todos los issues de firebase/flutterfire

Issues similares

Más issues de Dart

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.