GIDSignIn iOS 9

Using Googles Logging Into My AppDelegate I Have

func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject?) -> Bool { return GIDSignIn.sharedInstance().handleURL(url, sourceApplication: sourceApplication, annotation: annotation) } 

But this feature is deprecated with iOS 9 for

 application:openURL:options: 

How to return

GIDSignIn.sharedInstance (). HandleURL (URL, sourceApplication: sourceApplication, annotation: annotation)

Using the new feature for iOS 9?

+5
source share
2 answers

Use this:

 //Google Login @available(iOS 9.0, *) func application(application: UIApplication, openURL url: NSURL, options: [String: AnyObject]) -> Bool { return GIDSignIn.sharedInstance().handleURL(url, sourceApplication: options[UIApplicationOpenURLOptionsSourceApplicationKey] as! String, annotation: options[UIApplicationOpenURLOptionsAnnotationKey]) } //for IOS 8 @available(iOS, introduced=8.0, deprecated=9.0) func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool { return GIDSignIn.sharedInstance().handleURL(url, sourceApplication: sourceApplication!, annotation: annotation) } 
+12
source

Just for reference, if you are using Objective-C, an implementation of the method:

 - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { return [[GIDSignIn sharedInstance] handleURL:url sourceApplication:sourceApplication annotation:annotation]; } 

If on iOS 9 it would be recommended to also implement a new format:

 - (BOOL)application:(UIApplication *)application openURL:(nonnull NSURL *)url options:(nonnull NSDictionary<NSString *,id> *)options { return [[GIDSignIn sharedInstance] handleURL:url sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey] annotation:options[UIApplicationOpenURLOptionsAnnotationKey]]; } 
+4
source

Source: https://habr.com/ru/post/1234673/


All Articles