Skip to content

[google_sign_in] Update to GoogleSignIn-iOS 10 #194435

Closed
flutter/packages
#13306

Description

@takumiito271

google_sign_in_ios depends on GoogleSignIn ~> 9.0, which (via GTMAppAuth 5) limits gtm-session-fetcher to < 4.0. This conflicts with packages that require gtm-session-fetcher 5.x, e.g. ARCore iOS SDK 1.56.0 (5.0.0..<6.0.0), the first version available via Swift Package Manager.

GoogleSignIn-iOS 10.0.0 allows gtm-session-fetcher 3.3.0..<6.0.0 (GTMAppAuth 6), so updating would resolve this. Note that 10.0.0 requires iOS 15.

Activity

  1. suryaKommana2662 commented on Oct 15, 2026

    @suryaKommana2662
    Contributor

    @takumiito271 Thanks for the report. routing to the team-ios for further investigation.

    @takumiito271 Could you please share the dependency resolution error you encountered when using google_sign_in_ios alongside ARCore iOS SDK 1.56.0? This would help the team investigate the dependency conflict.

  2. added
    packageflutter/packages repository. See also p: labels.
    team-iosOwned by iOS platform team
    and removed
    in triagePresently being triaged by the triage team
    on Oct 15, 2026
  3. takumiito271 commented on Oct 15, 2026

    @takumiito271
    Author

    Could you please share the dependency resolution error you encountered when using google_sign_in_ios alongside ARCore iOS SDK 1.56.0?

    // swift-tools-version:5.9
    import PackageDescription
    
    let package = Package(
      name: "Repro",
      platforms: [.iOS(.v15)],
      dependencies: [
        .package(url: "https://github.com/google/GoogleSignIn-iOS.git", "9.0.0"..<"10.0.0"),
        .package(url: "https://github.com/google-ar/arcore-ios-sdk.git", exact: "1.56.0"),
      ],
      targets: [
        .target(
          name: "Repro",
          dependencies: [
            .product(name: "GoogleSignIn", package: "GoogleSignIn-iOS"),
            .product(name: "ARCoreCloudAnchors", package: "arcore-ios-sdk"),
          ]
        ),
      ]
    )
    error: Dependencies could not be resolved because root depends on 'googlesignin-ios' 9.0.0..<10.0.0 and root depends on 'arcore-ios-sdk' 1.56.0.
    'arcore-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 'arcore-ios-sdk' 1.56.0 depends on 'gtm-session-fetcher' 5.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
    
  4. Nazarovv676 commented on Oct 15, 2026

    @Nazarovv676

    Adding another real-world conflict with the same root cause, in case it helps prioritise: google_sign_in_ios 6.3.7 cannot be resolved together with firebase_messaging 17.0.0 (firebase-ios-sdk 13.0.0) under Swift Package Manager.

    Resolver output from flutter build ios (SPM enabled; CocoaPods is not an option for us because sentry_flutter requires SPM):

    Failed to resolve dependencies:
    'firebase_messaging-17.0.0' depends on 'firebase-ios-sdk' 13.0.0 and
    'google_sign_in_ios-6.3.7' depends on 'googlesignin-ios' 9.0.0..<10.0.0.
    'googlesignin-ios' 9.x depends on 'gtm-session-fetcher' 3.3.0..<4.0.0
    'firebase-ios-sdk' 13.0.0 depends on 'gtm-session-fetcher' 4.0.0..<6.0.0
    

    Same cause as described above (GoogleSignIn 9 -> GTMAppAuth 5 caps gtm-session-fetcher below 4).

    Note that just moving to GoogleSignIn-iOS 10.0.0 is not enough for Firebase 13: I tested the 10.0.0 manifest and it still fails, because GoogleSignIn-iOS 10.0.0 pins app-check 11.x while firebase-ios-sdk 13.0.0 requires app-check 12.x:

    'firebase-ios-sdk' 13.0.0 depends on 'app-check' 12.0.0..<13.0.0
    

    The change that allows app-check 11 and 12 is google/GoogleSignIn-iOS#626 ("Add SPM AppCheckCore 12.x support"), which is still open. So updating google_sign_in_ios to GoogleSignIn-iOS 10 will only unblock Firebase 13 users once a GoogleSignIn-iOS release that includes #626 ships.

    For anyone hitting this now, the workarounds are staying on the Firebase 12 line (firebase_core 4.x / firebase_messaging 16.x / firebase_analytics 12.x) or vendoring google_sign_in_ios with its Package.swift pointed at a GoogleSignIn-iOS revision that contains #626.

  5. qeepcologne commented on Oct 16, 2026

    @qeepcologne

    A data point from the Firebase side, plus two details that I think change the scope of this.

    1. Widening the SPM range is not sufficient on its own. GoogleSignIn-iOS 10.0.0 raises its own minimum to iOS 15 / macOS 12, while the plugin currently declares:

    • darwin/google_sign_in_ios/Package.swift: .iOS("13.0"), .macOS("10.15")
    • darwin/google_sign_in_ios.podspec: s.ios.deployment_target = '13.0', s.osx.deployment_target = '10.15'

    SPM rejects a package whose dependency requires a higher platform minimum than the package itself declares, so the deployment targets have to move together with the version range. That makes this a breaking change for google_sign_in_ios — and therefore a coordinated major bump with google_sign_in — rather than the one-line dependency widening it looks like at first.

    The four changes involved:

    Package.swift  from: "9.0.0"                     ->  "9.0.0" ..< "11.0.0"
    Package.swift  .iOS("13.0") / .macOS("10.15")    ->  .iOS("15.0") / .macOS("12.0")
    podspec        'GoogleSignIn', '~> 9.0'          ->  '>= 9.0', '< 11.0'
    podspec        ios 13.0 / osx 10.15              ->  ios 15.0 / osx 12.0
    

    2. It will not unblock the firebase-ios-sdk 13 reports in this thread. We hit the same resolver error reported above (via firebase_remote_config 7.0.0 → firebase-ios-sdk 13.0.0) and carried the four changes above as a fork. The resolver then gets past gtm-session-fetcher and fails on AppCheck instead:

    'firebase-ios-sdk' 13.0.0 depends on 'app-check' 12.0.0..<13.0.0 and
    'googlesignin-ios' 10.0.0 depends on 'app-check' 11.0.0..<12.0.0
    

    GoogleSignIn-iOS 10.0.0 (2026-09-04) predates AppCheck 12.0.0 (2026-09-23), so no current GoogleSignIn-iOS release can coexist with firebase-ios-sdk 13. That part is upstream of this package — filed as google/GoogleSignIn-iOS#655.

    So this is still worth doing for the ARCore case in the original report. We have rolled back to the firebase-ios-sdk 12 generation in the meantime.

  6. Tom3652 commented on Oct 17, 2026

    @Tom3652

    The main blocker remains about the latest firebase-ios-sdk 13.0.0 which we can't use for now.

  7. stuartmorgan commented on Oct 17, 2026

    @stuartmorgan
    Contributor

    That makes this a breaking change for google_sign_in_ios

    Updating a plug-in's minimum OS versions to match the current Flutter minimum versions is not a breaking change, it just requires updating the min Flutter SDK version at the same time.

  8. najibkr commented on Oct 20, 2026

    @najibkr

    Getting the same version solving issue when compiling my app for ios/MacOs. gtm-session-fetcher version should be upgraded to 4.x

    Error: An error occurred when adding Swift Package Manager integration:
      Error: Xcode failed to resolve Swift Package Manager dependencies:
    2026-10-21 00:06:47.279 xcodebuild[55402:1245356] Writing error result bundle to
    /var/folders/85/6jq8m3911fb_b671ymz6_v5r0000gn/T/ResultBundle_2026-21-10_12-06-0047 AM.xcresult
    xcodebuild: error: Could not resolve package dependencies:
      Failed to resolve dependencies Dependencies could not be resolved because
      'firebase_storage-14.0.0' depends on 'firebase-ios-sdk' 13.0.0 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.0.0 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.
  9. added
    P1High-priority issues at the top of the work list
    on Oct 23, 2026
  10. Anullos commented on Oct 30, 2026

    @Anullos
  11. Saifallak commented on Oct 31, 2026

    @Saifallak

    Encountered the same dependency resolution conflict when building for iOS with Swift Package Manager on Flutter 3.47 using firebase_performance: 0.12.1 (firebase-ios-sdk 13.1.1) and google_sign_in_ios: 6.3.8 (googlesignin-ios 9.0.0..<10.0.0):

    xcodebuild: error: Could not resolve package dependencies:
      Failed to resolve dependencies Dependencies could not be resolved because 'firebase_performance-0.12.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.
    

    Looking forward to flutter/packages#13306 being merged.

  12. masteradit commented on Nov 2, 2026

    @masteradit

    We're hitting this too: firebase_messaging 17.0.1 / firebase_core 5.1.0 (firebase-ios-sdk 13.1.1) with google_sign_in_ios 6.3.8, SwiftPM, Flutter 3.47.7, Xcode 26.6. Same gtm-session-fetcher resolver error as above.

    A data point for flutter/packages#13306: I applied its Package.swift change ("9.0.0"..<"11.0.0", iOS 15 / macOS 12) to a local copy of google_sign_in_ios 6.3.8 through dependency_overrides, and flutter build ios now succeeds. SwiftPM resolved:

    googlesignin-ios     10.1.0
    gtm-session-fetcher  5.3.1
    app-check            12.0.0
    firebase-ios-sdk     13.1.1
    gtmappauth           6.0.0
    

    So with GoogleSignIn-iOS 10.1.0, which includes google/GoogleSignIn-iOS#626, the AppCheck conflict mentioned earlier no longer applies, and flutter/packages#13306 on its own is enough to unblock Firebase 13. I only tested a build, not a sign-in flow on a device.

  13. docthubmobileapp commented on Nov 2, 2026

    @docthubmobileapp
  14. hardiklakhalani commented on Nov 4, 2026

    @hardiklakhalani

    In my case I'm getting this:

    1. Firebase SDK requirement: firebase_remote_config-7.0.1 depends on firebase-ios-sdk 13.1.1, which strictly requires gtm-session-fetcher version 4.0.0..<6.0.0.
    2. Google Sign-In requirement: google_sign_in_ios-6.3.5 depends on googlesignin-ios (e.g., v9.2.0), which strictly requires gtm-session-fetcher version 3.3.0..<4.0.0.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

P1High-priority issues at the top of the work listp: google_sign_inThe Google Sign-In pluginpackageflutter/packages repository. See also p: labels.team-iosOwned by iOS platform teamtriaged-iosTriaged by iOS platform team

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions