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

Đang mở
#18,894 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
35/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
dart, swift
Lĩnh vực
authentication, mobile

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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

Ngôn ngữ chính
Dart
Star
9.3k
Fork
4.1k
Merge trung bình
1 ngày 16 giờ
Pull request đã merge (30 ngày)
73

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của firebase/flutterfire

Tất cả issue của firebase/flutterfire

Issue tương tự

Thêm issue về Dart

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.