I am integrating Google Sign-In in my ios Swift app. I am following the official instructions on the google developer page here(https://developers.google.com/identity/sign-in/ios/sign-in?ver=swift )
Here is my Bridging Header:
#ifndef Header_h
#define Header_h
#endif /* Header_h */
#import <CommonCrypto/CommonCrypto.h>
#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <FBSDKLoginKit/FBSDKLoginKit.h>
#import <GoogleSignIn/GoogleSignIn.h>
When I call the line in my AppDelegate.swift
function that has
GGLContext.sharedInstance().configureWithError(&configureError)
in it. It says
Use of unresolved identifier 'GGLContext'
Any help is appreciated.
Google/*
pods are deprecated, you should use pod GoogleAnalytics
or pod GoogleSignIn
instead. You can't find GGLContext
in those pods because it no longer exists since it no longer requires a GoogleInfo-Service.plist
file for Analytics or SignIn.
For SignIn you should use the clientID that was previously obtained in the GoogleInfo-Service.plist file to initialize
GIDSignIn.sharedInstance().clientID = kClientID
or if you are using Firebase
GIDSignIn.sharedInstance().clientID = FirebaseApp.app()?.options.clientID
For Analytics you should use the trackerID that was previously obtained in the GoogleInfo-Service.plist file or in the analytics panel to initialize
let tracker = GAI.sharedInstance().tracker(withTrackingId: kTrackerID)
Google SignIn docs
Google Analytics docs
Inside Podfile.h,
replace
pod 'GoogleSignIn'
with
pod 'Google/SignIn'
Inside BridgingHeader.h file add the following two lines:
#import <GoogleSignIn/GoogleSignIn.h>
#import <Google/Core.h>
Inside AppDelegate.swift,
replace
import GoogleSignIn
with
import Google
This worked in my case.
Actually the pod 'Google/SignIn' has the required dependencies of Google needed to use GGLContext. These aren't present when installing cocoapods using pod 'GoogleSignIn'
The answer of Benjamin Jimenez was the correct one, not the one marked as "correct" since it suggests to use deprecated version of libraries instead of moving on with the new versions and updating your project accordingly:
https://stackoverflow.com/a/46858690/3506788
One small addition to the solution though: if you use Firebase, make sure that you initialise Firebase before using this line:
GIDSignIn.sharedInstance().clientID = FirebaseApp.app()?.options.clientID