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

未关闭
#18,894 1 条评论 4 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
35/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
活跃
技术栈
dart, swift

调研方向

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.

由索引模型根据 Issue 内容生成。

描述

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

主要语言
Dart
星标
9.3k
派生
4.1k
平均合并
1 天 15 小时
30 天内合并 PR
72

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

firebase/flutterfire 的其他 Issue

查看 firebase/flutterfire 的全部 Issue

相似的 Issue

更多 Dart Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。