我在我的应用中同时使用了 Google+ 和 Facebook。 我的问题是它们都需要 appDelegate 中的 OpenURL 方法。
对于 Facebook 登录:
func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject?) -> Bool {
return FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation)
}
对于 Google+ 登录:
func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject?) -> Bool {
return GPPURLHandler.handleURL(url, sourceApplication: sourceApplication, annotation: annotation)
}
如何在同一应用中同时使用 google+ 和 facebook?
最佳答案
针对 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另一种解决方案
**
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)
}
}
关于ios - Facebook 和 Google+ 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31221476/