Facebook和Google+login

我在我的应用中使用了Google+和Facebook。 我的问题是,他们都需要在AppDelegate的OpenURL方法。

对于Facebooklogin:

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

对于Google+login:

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

如何在同一个应用程序中同时使用Google +和Facebook?

解决scheme更新了Xcode 7.0和Swift 2.0

 return FBSDKApplicationDelegate.sharedInstance().application(app, openURL: url, sourceApplication: options["UIApplicationOpenURLOptionsSourceApplicationKey"] as! String, annotation: nil) || GPPURLHandler.handleURL(url, sourceApplication: options["UIApplicationOpenURLOptionsSourceApplicationKey"] as! String, annotation: nil) 

**

Swift 3.0另一个解决scheme

**

  func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool { if url.scheme == "fb1675189366130133" { return FBSDKApplicationDelegate.sharedInstance().application(application, open: url, sourceApplication: sourceApplication, annotation: annotation) }else{ return GIDSignIn.sharedInstance().handle(url, sourceApplication: sourceApplication, annotation: annotation) } } 

我find了一个解决scheme,使用这一点的代码:

 if url.scheme == "fb1111111111111" { return FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation) } else { return GPPURLHandler.handleURL(url, sourceApplication: sourceApplication, annotation: annotation) }