I am using Google Sign-In SDK 4.0.1. When I press googleSignInButton then app will be crash. And gave below error, how to fix this:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Your app is missing support for the following URL schemes: com.googleusercontent.apps.107731993306-6s44u18onibp6gi0ddj94si1aifshhg6' *** First throw call stack: ( 0 CoreFoundation 0x0000000101ac0d4b __exceptionPreprocess + 171 1 libobjc.A.dylib 0x000000010110121e objc_exception_throw + 48 2 CoreFoundation 0x0000000101b2a2b5 +[NSException raise:format:] + 197 3 xxxxx 0x000000010084b3cb -[GIDSignIn signInWithOptions:] + 246 4 xxxxx 0x000000010084efc2 -[GIDSignInButton pressed] + 242 5 UIKit 0x00000001028f78bc -[UIApplication sendAction:to:from:forEvent:] + 83 6 UIKit 0x0000000102a7dc38 -[UIControl sendAction:to:forEvent:] + 67 7 UIKit 0x0000000102a7df51 -[UIControl _sendActionsForEvents:withEvent:] + 444 8 UIKit 0x0000000102a7ce4d -[UIControl touchesEnded:withEvent:] + 668 9 UIKit 0x0000000102965545 -[UIWindow _sendTouchesForEvent:] + 2747 10 UIKit 0x0000000102966c33 -[UIWindow sendEvent:] + 4011 11 UIKit 0x00000001029139ab -[UIApplication sendEvent:] + 371 12 UIKit 0x000000010310072d __dispatchPreprocessedEventFromEventQueue + 3248 13 UIKit 0x00000001030f9463 __handleEventQueue + 4879 14 CoreFoundation 0x0000000101a65761 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 15 CoreFoundation 0x0000000101a4a98c __CFRunLoopDoSources0 + 556 16 CoreFoundation 0x0000000101a49e76 __CFRunLoopRun + 918 17 CoreFoundation 0x0000000101a49884 CFRunLoopRunSpecific + 420 18 GraphicsServices 0x00000001074cfa6f GSEventRunModal + 161 19 UIKit 0x00000001028f5c68 UIApplicationMain + 159 20 xxxxxxxx 0x00000001007c449f main + 111 21 libdyld.dylib 0x0000000104d5368d start + 1 22 ??? 0x0000000000000001 0x0 + 1 ) libc++abi.dylib: terminating with uncaught exception of type NSException`
My AppDelegate.Swift is
class AppDelegate: UIResponder, UIApplicationDelegate, GIDSignInDelegate { public func sign(_ signIn: GIDSignIn!, didSignInFor user: GIDGoogleUser!, withError error: Error!) { if (error == nil) { let userId:NSString = user.userID as NSString; // For client-side use only! let idToken: NSString = user.authentication.idToken as NSString; // Safe to send to the server let fullName:NSString = user.profile.name as NSString; let givenName:NSString = user.profile.givenName as NSString; let familyName:NSString = user.profile.familyName as NSString; let email:NSString = user.profile.email as NSString; print(userId) print(userId,idToken,fullName,givenName,familyName,email) } else { print("\(error.localizedDescription)") } } var window: UIWindow? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { let kclientID:NSString = "107731993306-xxxxxxxxxxxxxxxxx.apps.googleusercontent.com" GIDSignIn.sharedInstance().clientID = kclientID as String! GIDSignIn.sharedInstance().delegate = self return true } func application(application: UIApplication, openURL url: NSURL, options: [String: AnyObject], annotation:Any, sourceApplication:String?) -> Bool { return GIDSignIn.sharedInstance().handle(url as URL!, sourceApplication:sourceApplication, annotation: annotation) }
Please give me the solution. Why it is crashed?
As the error clearly says, your app is missing support for the url schemes.
Add the following schemes to your info.plist
<key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleTypeRole</key> <string>Editor</string> <key>CFBundleURLSchemes</key> <array> <string>***Your bundle ID***</string> </array> </dict> <dict> <key>CFBundleTypeRole</key> <string>Editor</string> <key>CFBundleURLSchemes</key> <array> <string>com.googleusercontent.apps.107731993306-6s44u18onibp6gi0ddj94si1aifshhg6</string> </array> </dict> <dict> <key>CFBundleTypeRole</key> <string>Editor</string> <key>CFBundleURLSchemes</key> <array> <string>***Something here***</string> </array> </dict> </array>
Check this url for your id => https://developers.google.com/identity/sign-in/ios/start-integrating
Your info.plist should look like ->
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With